ReQL command: range
Command syntax
r.range() → stream r.range([startValue, ]endValue) → stream
Description
Generate a stream of sequential integers in a specified range.
range
takes 0, 1 or 2 arguments:
- With no arguments,
range
returns an “infinite” stream from 0 up to and including the maximum integer value; - With one argument,
range
returns a stream from 0 up to but not including the end value; - With two arguments,
range
returns a stream from the start value up to but not including the end value.
Note that the left bound (including the implied left bound of 0 in the 0- and 1-argument form) is always closed and the right bound is always open: the start value will always be included in the returned range and the end value will not be included in the returned range.
Any specified arguments must be integers, or a ReqlRuntimeError
will be thrown. If the start value is equal or to higher than the end value, no error will be thrown but a zero-element stream will be returned.
Example: Return a four-element range of [0, 1, 2, 3]
.
> r.range(4).run(conn, callback)
// result returned to callback
[0, 1, 2, 3]
You can also use the limit command with the no-argument variant to achieve the same result in this case:
> r.range().limit(4).run(conn, callback)
// result returned to callback
[0, 1, 2, 3]
Example: Return a range from -5 through 5.
> r.range(-5, 6).run(conn, callback)
// result returned to callback
[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/range/