Команда ReQL: range
Синтаксис команды
r.range() → stream r.range([startValue, ]endValue) → stream
Описание
Генерирует поток последовательных целых чисел в заданном диапазоне.
range принимает 0, 1 или 2 аргумента:
- Без аргументов,
rangeвозвращает «бесконечный» поток от 0 до и включая максимальное целое значение; - С одним аргументом,
rangeвозвращает поток от 0 до, но не включая, конечное значение; - С двумя аргументами,
rangeвозвращает поток от начального значения до, но не включая, конечное значение.
Обратите внимание, что левая граница (включая неявную левую границу 0 в форме с 0 и 1 аргументом) всегда закрыта, а правая граница всегда открыта: начальное значение всегда будет включено в возвращаемый диапазон, а конечное значение — не будет включено в возвращаемый диапазон.
Все указанные аргументы должны быть целыми числами, в противном случае будет выброшено ReqlRuntimeError. Если начальное значение равно или больше конечного значения, ошибка не будет выброшена, но будет возвращен поток нулевой длины.
Пример: Возвращает диапазон из четырёх элементов [0, 1, 2, 3].
r.range(4).run(conn);
Результат (показан в формате JSON):
[0, 1, 2, 3]
Вы также можете использовать команду limit с вариантом без аргументов, чтобы достичь того же результата в этом случае:
r.range().limit(4).run(conn);
Пример: Возвращает диапазон от -5 до 5.
r.range(-5, 6).run(conn);
[-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/java/range/