只评估第一个符号(CHICKEN Scheme)
Just eval first symbol (CHICKEN Scheme)
如何仅通过第一项计算 s 表达式?
(define (fn x y) (print x) (print y))
(eval '(fn a b))
我试图在更大的表达式上评估类似的东西,但解释器抱怨 a
和 b
变量不存在(未绑定变量 a).
我可以做些什么来让符号保持原样吗?
我一直在努力查找有关此的信息,但到处都找不到。
下面的怎么样?
(let ((expr '(fn a b)))
(cons (eval (car expr)) (cdr expr)))
但请注意,如果您必须依赖 eval
,您几乎肯定做错了。
如何仅通过第一项计算 s 表达式?
(define (fn x y) (print x) (print y))
(eval '(fn a b))
我试图在更大的表达式上评估类似的东西,但解释器抱怨 a
和 b
变量不存在(未绑定变量 a).
我可以做些什么来让符号保持原样吗?
我一直在努力查找有关此的信息,但到处都找不到。
下面的怎么样?
(let ((expr '(fn a b)))
(cons (eval (car expr)) (cdr expr)))
但请注意,如果您必须依赖 eval
,您几乎肯定做错了。