Search ('all' for everything):
Search results:
&current — current co-expression
&main — main co-expression
&source — source co-expression
@C — activate co-expression
^C1 — create refreshed co-expression
create — create co-expression
display — display co-expression variables
x@C — transmit value to co-expression
x{x,…} — process argument list as co-expressions

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