트랙
/
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의 "Mixing Different Parameter Types" 섹션을 참고해요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요

키워드 매개변수 배우기