Common Lispではいろいろな引数の渡し方がある。下の例は普通の関数の定義。 普通の関数 CL-USER> (defun foo (a b c d) (format t "a=~a b=~a c=~a d=~a" a b c d)) FOO CL-USER> (foo 1 2) ; 引数が足りない ; Evaluation aborted. CL-USER> (foo 1 2 3) ; これも引数が足りない ; Evaluation aborted. CL-USER> (foo 1 2 3 4) ; 引数の数が妥当なので以下の出力が得られる a=1 b=2 c=3 d=4NIL CL-USER> オプショナルパラメータ 引数を省略するような時はオプショナルパラメータとして定義しておく。そうすると常に決められれた数の引数をとりたくないときは省略することが出来る。これにはオプションとした