Kurzusok
/
Common Lisp
Common Lisp
/
Tanterv
/
Kulcsszóparaméterek
Ku

Kulcsszóparaméterek ebben a kurzusban: Common Lisp

1 feladat

A(z) Kulcsszóparaméterek fogalomról

A Common Lispben a nevesített paramétereket kulcsszóparamétereknek hívják.

A kulcsszóparamétereket a lambda-listában a &key lambda-lista-kulcsszó jelöli. A kulcsszóparaméterek nem kötelezőek, lehet alapértékük, és megadhatnak egy „supplied-p paramétert” is, amely „igaz” vagy „hamis” lesz attól függően, hogy a paraméter kapott-e argumentumot.

(defun keyword-parameter (&key (arg -1) arg)
(keyword-parameter)         ; => -1
(keyword-parameter :arg 13) ; => 13

A függvény argumentumaiban a kulcsszóparamétereket a „kulcsszónevük” adja meg, amely alapértelmezés szerint a paraméternév kulcsszószimbólum formája (azaz a name kulcsszóparaméter kulcsszóneve :name). Egy kulcsszóparaméternek más nevet is megadhatunk úgy, hogy a paraméternév helyett a kulcsszónév és a paraméternév listáját használjuk:

(defun other-keyword-name (&key ((other-name arg))) (list arg))
(other-keyword-name 'other-name 5) ; => (5)

Bár többféle paramétertípus is kombinálható más paramétertípusokkal (opcionális és kulcsszóparaméterek), ez problémás lehet, ezért óvatosan járj el. Lásd a Practical Common Lisp „Mixing Different Parameter Types” szakaszát.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Kulcsszóparaméterek fogalmat