必須パラメータ、付加パラメータ(&optional)、rest パラメータ(&rest)、キーワードパラメータ(&key)を混ぜたいとき。
まず &rest は1回しか使えない。
で、
- 必須パラメータ
- 付加パラメータ(&optional)
- rest パラメータ(&rest)
- キーワードパラメータ(&key)
の順番で並ぶようにする。
(defun full-parameter (a b &optional c d &rest e &key f g h) ...)