我如何仅按第一项来评估s表达式?
(define (fn x y) (print x) (print y))
(eval '(fn a b))
我正在尝试在一个较大的表达式上评估类似的内容,但是解释器抱怨a
和b
变量不存在(未绑定变量a )。
我可以做些什么来保持符号原样吗?
我一直在寻找有关此信息,但在任何地方都找不到。
答案 0 :(得分:2)
以下内容如何?
(let ((expr '(fn a b)))
(cons (eval (car expr)) (cdr expr)))
但是请注意,如果您不得不依靠eval
,那几乎肯定是在做错事。