Треки
/
Common Lisp
Common Lisp
/
Салабус
/
Ключові параметри
Кл

Ключові параметри у Common Lisp

1 вправа

Про концепцію Ключові параметри

У Common Lisp іменовані параметри називають ключовими параметрами.

Ключові параметри позначають ключовим словом &key у лямбда-списку. Ключові параметри не є обовʼязковими, можуть мати типове значення, а також задавати «параметр supplied-p», який матиме значення «правда» або «неправда» залежно від того, чи передали для цього параметра аргумент.

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

В аргументах функції ключові параметри задають їхнім «ключовим іменем», яке типово є ключовим символом, утвореним з імені параметра (тобто ключовий параметр name має ключове імʼя :name). Можна задати інше імʼя для ключового параметра, використавши список із ключового імені та імені параметра замість самого лише імені параметра:

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

Хоча різні типи параметрів можна поєднувати з іншими типами параметрів (необовʼязковими та ключовими), це може бути проблематично, тож робити це слід обережно. Про це йдеться в розділі «Поєднання різних типів параметрів» у книзі Practical Common Lisp.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Ключові параметри