On this page:
define
lambda
define-struct
local
letrec
let
let*
Määrittelyt

syntax

(define nimi lauseke)

Sitoo nimi nimisen muuttujan arvoon, joka saadaan evaluoimalla lauseke. Muuttujalla ei voi olla samaa nimeä kuin jollain toisella funktiolla tai muuttujalla, eikä nimi saa olla osana lauseke:tta.

syntax

(define (nimi muuttuja muuttuja ...) lauseke)

Määrittelee nimi nimisen funktion, jonka toteutus on lauseke. Kun funktiota kutsutaan, kunkin argumenttin arvo sijoitetaan funktion lausekkeeseen muuttuja:n tilalle. Funktio palauttaa saadun lausekkeen arvon.

Funktiolla ei voi olla samaa nimeä kuin jollain toisella funktiolla tai muuttujalla.

Racket BSL nimi tai muuttuja eivät voi sisältää välilyöntiä eikä mitään seuraavista merkkeistä: " , ' ` ( ) [ ] { } | ; #

syntax

(define nimi (lamdba (muuttuja muuttuja ...) lauseke))

Vaihtoehtoinen tapa määritellä funktio. Määrittelee nimi nimisen funktion, jonka toteutus on lauseke. Kun funktiota kutsutaan, kunkin argumenttin arvo sijoitetaan funktion lausekkeeseen muuttuja:n tilalle. Funktio palauttaa saadun lausekkeen arvon.

Funktiolla ei voi olla samaa nimeä kuin jollain toisella funktiolla tai muuttujalla.

lambda BSL kielessä tätä ei voi käyttää muualla kuin em. vaihtoehtoisessa tavassa määritellä funktio. ISL kielessä tämän avulla voidaan lisäksi määritellä funktioita, ilman että niille annetaan nimeä.

syntax

(define-struct tietue (kenttä ...))

Määrittelee tietue nimisen tietueen, jolla on yksi tai useampi kenttä. Kun define-struct:ia on käytetty, saadaan automaattisesti käyttöön seuraavat funktiot:

Saatujen uusien funktioiden nimet eivät saa olla samoja kuin muiden funktioiden tai muuttujien nimet muuten define-struct palauttaa virheen.

Jotta saat käyttöönsi local, letrec, let tai let*:n vaihda kieli DrRacket:issa: Language->Choose language->Teaching languages->Intermediate/Advanced student. WeScheme:ssä nämä toimivat automaattisesti.

syntax

(local [määrittely ...] lauseke)

Luo ryhmän määrittelyjä, jotka näkyvät vain local-rakenteen sisällä. määrittely voi olla muuttujan, funktion tai tietueen määrittely.

Jokainen local rakenteen sisällä oleva määrittely evaluoidaan järjestyksessä ja lopuksi evaluoidaan lauseke, jonka arvo palautetaan lausekkeen arvona. Nämä määrittelyt piilottavat näkyvistä mahdolliset samannimiset globaalit muuttujat.

Huom! Tämä vaatii käyttöön ISL- tai ASL-kielen.

syntax

(letrec ([nimi let-lauseke] ...) lauseke)

Kuin local mutta lyhyempi merkintätapa. Huom! Tämä vaatii käyttöön ISL- tai ASL-kielen.

syntax

(let ([nimi let-lauseke] ...) lauseke)

Kuin letrec mutta nimi ei saa esiintyä muissa let-lausekkeissa. Huom! Tämä vaatii käyttöön ISL- tai ASL-kielen.

syntax

(let* ([nimi let-lauseke] ...) lauseke)

Kuin letrec mutta nimi saa esiintyä vain sen jälkeen tulevissa let-lausekkeissa. Huom! Tämä vaatii käyttöön ISL- tai ASL-kielen.