【发布时间】:2019-02-11 22:40:13
【问题描述】:
我不确定使用未在顶层定义的函数的最佳方式。
我创建了一个主力 lambda 表达式列表,称为 *lambdas*,它源自用户的输入规范。还有一个*args* 列表,为每个 lambda 提供适当的参数。我想将每个 lambda 转换为一个函数,对其进行编译,将其应用于各自的参数,然后收集结果。
目前,我正在将 (setf (symbol-value *dummy-fn-name*) (compile nil lambda)) 作为保存每个函数的临时位置,然后使用 (apply (symbol-value *dummy-fn-name*) args) 来获取每个结果,但这可能属于 hack。有没有更直接的方式来使用 lambda?函数在apply-ed 之后就不需要闲逛了。
【问题讨论】:
标签: function lambda common-lisp