Interwały

Interwały

> LeekScript

Interwał [a..b] reprezentuje zbiór liczb pomiędzy dwoma granicami a i b. W języku LeekScript istnieją interwały rzeczywiste i całkowite.

Może być prawostronnie i/lub lewostronnie ograniczony i prawostronnie i/lub lewostronnie zamknięty.

Interwały mogą być używane do reprezentowania ciągłych serii liczb w zoptymalizowany sposób.

Tworzenie

Interwały są tworzone przy użyciu następującej składni: ``leekscript var a = [0..10] // interwał całkowity var b = [5.5..8.5] // interwał rzeczywisty

var c = [5..10[ // zakres otwarty w prawo var d = ]5..10[ // zakres otwarty w lewo i w prawo

var e = [0.0...[ // nieograniczony przedział po prawej stronie (ℝ⁺) var f = ].[ // nieograniczony przedział (ℝ) var g = ]-∞..∞[ // to samo (ℝ), obsługiwany znak ∞

var h = [...] // pusty zakres

Search

Istnieją dwa sposoby określenia, czy liczba znajduje się w przedziale: ``leekscript var a = ]0..5[ 0 w a // false 3 w a // true intervalContains(a, 0) // false intervalContains(a, 3) // true

Iteracja

Możliwe jest iterowanie po interwałach, dzięki czemu możliwe jest napisanie pętli for w bardziej zwięzły i czytelny sposób: ``leekscript for (var x in [3..10[) { debug(x) // wyświetl 3, 4, 5, 6, 7, 8, 9 (ponieważ 10 jest wykluczone) }

Konwersje

Można przekonwertować zakres na listę: `leekscript var a = [5..10[ var b = [1.0..1.7] intervalToArray(a) // [5, 6, 7, 8, 9] ``