Kurzusok
/
Common Lisp
Common Lisp
/
Tanterv
/
Opcionális paraméterek
Op

Opcionális paraméterek ebben a kurzusban: Common Lisp

2 feladat

A(z) Opcionális paraméterek fogalomról

A lambda-listában az opcionális paramétert a &optional lambda-lista kulcsszó jelöli. Az opcionális paraméterek nem kötelezőek, lehet alapértelmezett értékük, és megadhatnak egy „supplied-p paramétert” is, amely attól függően lesz „igaz” vagy „hamis”, hogy adtak-e át argumentumot a paraméternek.

(defun optional-parameter (&optional (arg -1)) arg)
(optional-parameter)    ; => -1
(optional-parameter 13) ; => 13

Az opcionális paramétereket a kötelező paraméterek után kell megadni, de a nevesített vagy rest paraméterek előtt. Az argumentumok először a kötelező paraméterekhez kötődnek, aztán az opcionálisakhoz, végül a rest és a nevesített paraméterekhez.

(defun req-and-opt (req &optional (opt -1)) (list req opt)
(req-and-opt 1)    ; => (1 -1)
(req-and-opt 1 13) ; => (1 13)

Bár a paraméterek többféle típusa is kombinálható más típusokkal (például az opcionális és a kulcs paraméterek), ez problémás lehet, ezért óvatosan érdemes eljárni. Lásd a „Különböző paramétertípusok keverése” című részt a Practical Common Lispben.

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

Tanuld meg a(z) Opcionális paraméterek fogalmat

A gyakorlás zárolva

Oldj fel még 1 feladatot, hogy gyakorolhasd a(z) Opcionális paraméterek fogalmat