# random - generate random number

## Synopsis

    random
    random SEED
    random START END
    random START STEP END
    random choice [ITEMS...]

## Description

`RANDOM` generates a pseudo-random integer from a uniform distribution. The range (inclusive) is dependent on the arguments passed. No arguments indicate a range of [0; 32767]. If one argument is specified, the internal engine will be seeded with the argument for future invocations of `RANDOM` and no output will be produced. Two arguments indicate a range of [START; END]. Three arguments indicate a range of [START; END] with a spacing of STEP between possible outputs. `RANDOM choice` will select one random item from the succeeding arguments.

Note that seeding the engine will NOT give the same result across different systems.

You should not consider `RANDOM` cryptographically secure, or even statistically accurate.

## Example

The following code will count down from a random even number between 10 and 20 to 1:

    for i in (seq (random 10 2 20) -1 1)
        echo $i
    end

And this will open a random picture from any of the subdirectories:

    open (random choice **jpg)