只评估第一个符号(CHICKEN Scheme)

Just eval first symbol (CHICKEN Scheme)

如何仅通过第一项计算 s 表达式?

(define (fn x y) (print x) (print y))
(eval '(fn a b))

我试图在更大的表达式上评估类似的东西,但解释器抱怨 ab 变量不存在(未绑定变量 a).

我可以做些什么来让符号保持原样吗?

我一直在努力查找有关此的信息,但到处都找不到。

下面的怎么样?

(let ((expr '(fn a b)))
  (cons (eval (car expr)) (cdr expr)))

但请注意,如果您必须依赖 eval,您几乎肯定做错了。