Leírás
Minden primitív eljárásnak van rögzített számú bemenete, de némelyikük elfogad változó számú bemenetet is – ilyen a print (kiír). Ebben az esetben az egész utasítást zárójelek közé kell zárni:
? (print "A "B "C)
? (kiír "A "B "C)
A B C
A legtöbb saját eljárásod szintén rögzített számú bemenetet fogad (a definíció fejlécében lévő bemenetek számától függően). De definiálhatsz saját eljárást is változó számú bemenettel. Ezen eljárásoknál a definíció fejléce a következőkből áll::
· to (elj), melyet az eljárás neve követ.
· a bemenetnek csak a neve,
· egy egyetlen számból álló lista, például [N] – ahol N az eljárás bemeneteinek alapszámát határozza meg.
Például:
to double :micsoda [1]
op se :micsoda :micsoda
end
elj dupla :micsoda [1]
eredmény mondat :micsoda :micsoda
vége
Ha ezt a műveletet egy bemenettel használják, nem kell zárójelet használni. Ha viszont más számú bemenettel, akkor már kell.:
? print double "szia
? kiír dupla "szia
szia szia
? print (double "szia "mókuska)
? kiír (dupla "szia "mókuska)
szia mókuska szia mókuska
A definícióban lévő bemenet neve mindig megkapja az összes bemenet listáját. Például ha ezt írod be:
? print (double "Ki "vagy "te)
? kiír (dupla "Ki "vagy "te)
akkor a double (dupla) definíciójának törzse úgy fut le, hogy a :micsoda a [Ki vagy te] lista.