应用功能列表中的选定功能

迪克·巴伦兹

我想从功能列表中选择。并将一个选择的函数应用于参数。

 (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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章