【发布时间】:2013-03-20 14:42:39
【问题描述】:
我正在尝试评估方案中的公式:
(define formula '(if (or (equal? '?country 'United-States) (equal? '?country 'England))
#t
#f))
(define (eval-formula formula)
(eval `(let ([?country 'United-States])
(display formula) (newline)
(display ?country) (newline)
,formula)))
(eval-formula formula)
阅读http://docs.racket-lang.org/guide/eval.html 应该返回#t,但是当我运行它时,它返回#f。你能告诉我我误解了什么吗?
我也试过了:
(define formula '(if (or (equal? '?country 'United-States) (equal? '?country 'England))
#t
#f))
(define ?country 'United-States)
(eval formula)
但我得到了相同的结果。
非常感谢!
【问题讨论】: