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)