我想从功能列表中选择。并将一个选择的函数应用于参数。
(defvar fn '(#'(lambda (x) (* x x)) #'(lambda (x) (+ x x))))
(apply (nth 1 fn) '(5))
上面的代码不起作用,可能是什么错误?
fn
不是功能列表。由于您已引用该列表,因此不会对任何函数表达式求值。因此,您仅具有表单列表的列表(FUNCTION (LAMBDA (X) ...))
。
使用list
做出的排行榜,并评估所有的参数:
(defvar fn (list #'(lambda (x) (* x x)) #'(lambda (x) (+ x x))))
或使用反引号和逗号:
(defvar fn `(,#'(lambda (x) (* x x)) ,#'(lambda (x) (+ x x))))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句