Интервалы

Интервалы

> LeekScript

Интервал [a..b] представляет собой набор чисел между двумя границами a и b. В LeekScript существуют вещественные и целочисленные интервалы.

Он может быть правым и/или левым ограниченным и правым и/или левым замкнутым.

Интервалы можно использовать для оптимизированного представления непрерывного ряда чисел.

Создание

Интервалы создаются с помощью следующего синтаксиса: ``leekscript var a = [0..10] // целочисленный интервал var b = [5.5..8.5] // вещественный интервал

var c = [5..10[ // диапазон, открытый вправо var d = ]5..10[ // диапазон открыт влево и вправо

var e = [0.0...[ // неограниченный интервал справа (ℝ⁺) var f = ].[ // неограниченный интервал (ℝ) var g = ]-∞..∞[ // то же (ℝ), поддерживается символ ∞

var h = [...] // пустой диапазон

Поиск

Существует два способа определения того, находится ли число в интервале: ``leekscript var a = ]0..5[ 0 в a // false 3 в a // true intervalContains(a, 0) // false intervalContains(a, 3) // true

Итерация

Существует возможность итерации по интервалу, что позволяет написать цикл for в более сжатом и читабельном виде: ``leekscript for (var x in [3..10[) { debug(x) // выводим на экран 3, 4, 5, 6, 7, 8, 9 (так как 10 исключено) }

Преобразования

Вы можете преобразовать диапазон в список: `leekscript var a = [5..10[ var b = [1.0..1.7] intervalToArray(a) // [5, 6, 7, 8, 9] ``