如何仅通过第一项评估 s 表达式?
(define (fn x y) (print x) (print y))
(eval '(fn a b))
我试图在更大的表达式上评估这样的东西,但解释器提示
a
和 b
变量不存在(未绑定(bind)变量 a)。有什么办法可以让符号保持原样吗?
我一直在尝试查找有关此的信息,但在任何地方都找不到。
最佳答案
下面的呢?
(let ((expr '(fn a b)))
(cons (eval (car expr)) (cdr expr)))
但请注意,如果您必须依赖
eval
,你几乎可以肯定做错了。
关于scheme - 只评估第一个符号(鸡肉方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54565489/