Lambda 表示式和匿名函式
一個匿名函式可以不通過名稱來定義 Lambda 表示式 。為了定義這些型別的函式,使用關鍵字 lambda
而不是關鍵字 defun
。以下行都是等效的,並定義了輸出兩個數字之和的匿名函式:
(lambda (x y) (+ x y))
(function (lambda (x y) (+ x y)))
#'(lambda (x y) (+ x y))
在建立 Lambda 表單時 ,它們的用處是顯而易見的,即一個表單,其中第一個元素是 lambda 表示式,其餘元素是匿名函式的引數。示例( 線上執行 ):
(print ((lambda (x y) (+ x y)) 1 2)) ; >> 3
(print (mapcar (lambda (x y) (+ x y)) '(1 2 3) '(2 -5 0))) ; >> (3 -3 3)