次: Simple Lambda, 前: Lambda Expressions, 上: Lambda Expressions
ラムダ式の先頭要素は、つねにシンボルlambda
です。
このシンボルは、リストが関数を表すことを示します。
関数はlambda
で始まると定義してあるのは、
他の目的向けの他のリストが誤って正しい関数とならないようにするためです。
第2要素は、シンボルのリスト、つまり、引数変数名です。 これをラムダリスト(lambda list)と呼びます。 Lisp関数が呼ばれると、引数値をラムダリストの変数に対応させ、 指定した値を持つローカル束縛になります。 See Local Variables。
説明文字列は、関数定義の内側にあるLisp文字列オブジェクトであり、 Emacsのヘルプ機能に対して関数を記述します。 See Function Documentation。
対話宣言は、(interactive
code-string)
の形式のリストです。
この宣言は、関数が対話的に使われたときに、
どのように引数を与えるかを指定します。
この宣言を有する関数をコマンド(commands)と呼びます。
コマンドは、M-xで呼び出したり、キーにバインドできます。
このように呼ばれることを意図していない関数には、
対話宣言を付けてはいけません。
対話宣言の書き方については、See Defining Commands。
残りの要素は、関数の本体(body)です。 関数の動作を行うLispコードです (Lispプログラマとしては、『評価するべきLispフォームのリスト』という)。 関数が返す値は、本体の最後の要素が返す値です。