Back to top

ReQL command: random

Command syntax

r.random() → number

r.random(number[, number]) → number

r.random(integer[, integer]) → integer

Description

Generate a random number between given (or implied) bounds. random takes zero, one or two arguments, and can also take an optArg of float.

  • With zero arguments, the result will be a floating-point number in the range [0,1) (from 0 up to but not including 1).
  • With one argument x, the result will be in the range [0,x), and will be integer unless .optArg("float", true) is given as an option. Specifying a floating point number without the float option will raise an error.
  • With two arguments x and y, the result will be in the range [x,y), and will be integer unless .optArg("float", true) is given as an option. If x and y are equal an error will occur, unless the floating-point option has been specified, in which case x will be returned. Specifying a floating point number without the float option will raise an error.

Note: The last argument given will always be the ‘open’ side of the range, but when generating a floating-point number, the ‘open’ side may be less than the ‘closed’ side.

Example: Generate a random number in the range [0,1)

r.random().run(conn);

Example: Generate a random integer in the range [0,100)

r.random(100).run(conn);
r.random(0, 100).run(conn);

Example: Generate a random number in the range (-2.24,1.59]

r.random(1.59, -2.24).optArg("float", true).run(conn)

Get more help

Couldn't find what you were looking for?