Search ('all' for everything):
Search results:
&ascii — ASCII characters
&cset — all characters
&digits — digits
&lcase — lowercase letters
&letters — letters
&ucase — uppercase letters
cset — convert to cset
x++x — compute cset or set union
x––x — compute cset or set difference
x∗∗x — cset or set intersection
~c1 — compute cset complement

Index of Function Types:
affects &pos
character sets
co-expressions
control structures
file processing
generators
infix operations
keywords
lists, sets and tables
math
metadata
output formatting
pattern matching
prefix operations
records
strings
windows and keyboards

Index of Subsystems:
base
digitcnt.icn
SNOBOL4 functions
 
generate random value
 
Description

?x1 : x2
If x1 is an integer, ?x1 produces a number from a pseudorandom sequence. If x1 > 0, it produces an integer in range 1 to x1, inclusive. If x1 = 0, it produces a real number in range 0.0 to 1.0.

If x1 is a string, ?x1 produces a randomly selected one-character substring of x1 that is a variable if x1 is a variable.

If x1 is a list or record, ?x1 produces a randomly selected element, which is a variable, from x1.

If x1 is a set, ?x1 produces a randomly selected member of x1.

If x1 is a table, ?x1 produces the value of a randomly selected element of x1 as a variable.
 
Parameters
x1
integer, string, list, record, set or table
returns
a random element of x1
 
Errors
113 x1 not integer, string, or a structure
205 x1 < 0
 
See Also