File: random.rst

package info (click to toggle)
fish 4.2.1-3.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 35,976 kB
  • sloc: python: 6,972; javascript: 1,407; sh: 1,009; xml: 411; ansic: 230; objc: 78; makefile: 20
file content (66 lines) | stat: -rw-r--r-- 1,496 bytes parent folder | download
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
random - generate random number
===============================

Synopsis
--------

.. 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) depends on the arguments.

No arguments indicate a range of 0 to 32767 (inclusive).

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 from *START* to *END* (both *START* and *END* included).

Three arguments indicate a range from *START* to *END* with a spacing of *STEP*
between possible outputs.

``random choice`` will select one random item from the succeeding arguments.

The **-h** or **--help** option displays help about using this command.

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)


Or, to only get even numbers from 2 to 20::

    random 2 2 20

Or odd numbers from 1 to 3::
  
    random 1 2 3 # or 1 2 4