スキームで数式を評価しようとしています:
(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)
しかし、私は同じ結果を得ました。
どうもありがとう!