lambda 式: 有用な匿名性
¶lambdaは無名関数、つまり名前のない関数を表す記号です。無名関数を使用する際は、その都度その本体をすべて記述する必要があります。
したがって、
(lambda (arg) (/ arg 50))
渡されたものをargとして50で割った値を返す関数です。
例えば、先ほどは multiply-by-seven という関数がありました。これは引数に 7
を掛けるものでした。この関数も同様ですが、引数を 50 で割る点が異なり、また名前がありません。multiply-by-seven に相当する無名関数は次の通りです:
(lambda (number) (* 7 number))
(defun
マクロを参照。)
3に7を掛けたい場合は、次のように書くことができます:
この式は21を返します。
同様に、次のように書くことができます:
100を50で割りたい場合は、次のように書くことができます:
この式は2を返します。100が関数に渡され、その数値を50で割ります。
lambdaの詳細については、The GNU Emacs
Lisp Reference Manualのラムダ式を参照してください。Lispおよびラムダ式は、ラムダ計算に由来しています。