Intervaller

Intervaller

> LeekScript

Et intervall [a..b] representerer et tallsett mellom to grenser a og b. I LeekScript finnes det reelle og heltallsintervaller.

Intervallene kan være høyre- og/eller venstrebegrenset og høyre- og/eller venstresluttet.

Intervaller kan brukes til å representere en kontinuerlig tallrekke på en optimalisert måte.

Opprettelse

Intervaller opprettes ved hjelp av følgende syntaks: ``leekscript var a = [0..10] // heltallsintervall var b = [5.5..8.5] // virkelig intervall

var c = [5..10[ // intervall åpent mot høyre var d = ]5..10[ // intervall åpent til venstre og høyre

var e = [0.0..[ // ubegrenset intervall til høyre (ℝ⁺) var f = ].[ // ubegrenset intervall til høyre (ℝ) var g = ]-∞..∞[ // samme (ℝ), ∞-tegn støttes

var h = [..] // tomt område leekscript var a = [5..20[ var b = [0.0..∞[ intervalMin(a) // nedre grense -> 5 intervalMax(a) // øvre grense -> 20 intervalMax(b) // øvre grense -> ∞ intervalAverage(a) // gjennomsnittsverdi -> 12,5 intervallGjennomsnitt(b) // gjennomsnittsverdi -> ∞ intervalSize(a) // lengde -> 15 intervalIsEmpty(a) // tom ? -> false intervalIsRightBounded(b) // avgrenset på høyre side -> false intervalIsLeftBounded(a) // avgrenset til venstre -> true intervalIsRightClosed(a) // lukket til høyre -> false intervalIsLeftClosed(a) // lukket på venstre side -> true leekscript var a = ]0..5[ 0 i a // false 3 i a // true intervalContains(a, 0) // false intervalContains(a, 3) // true

Iterasjon

Det er mulig å iterere over et intervall, noe som gjør det mulig å skrive en for-løkke på en mer kortfattet og lesbar måte: `leekscript for (var x i [3..10[) { debug(x) // vis 3, 4, 5, 6, 7, 8, 9 (fordi 10 er ekskludert) } leekscript for (var x = 3; x < 10; x++) { debug(x) // viser 3, 4, 5, 6, 7, 8, 9 } leekscript var a = [5..10[ var b = [1.0..1.7] intervalToArray(a) // [5, 6, 7, 8, 9] ``