Eljarasok Valtozo Szamu Bemenetellel

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.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License