aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/random.txt
blob: 5d8a8bab3c5c60167f2e4eea79657a669760ffb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
\section random random - generate random number

\subsection random-synopsis Synopsis
\fish{synopsis}
random [SEED]
\endfish

\subsection random-description Description

`random` outputs a psuedo-random number from 0 to 32767, inclusive.
Even ignoring the very narrow range of values you should not assume
this produces truly random values within that range. Do not use the
value for any cryptographic purposes, and take care to handle collisions:
the same random number appearing more than once in a given fish instance.

If a `SEED` value is provided, it is used to seed the random number
generator, and no output will be produced. This can be useful for debugging
purposes, where it can be desirable to get the same random number sequence
multiple times. If the random number generator is called without first
seeding it, the current time will be used as the seed.


\subsection random-example Example

The following code will count down from a random number to 1:

\fish
for i in (seq (random) -1 1)
    echo $i
    sleep
end
\endfish