我正在使用来自以下网址的 DrScheme: http://www.archlinux.org/packages/extra/x86_64/drscheme/
我试图使用教材中的示例代码,但一直遇到“未绑定的标识符”错误。这是因为 Scheme 解释器配置不正确吗?还是代码有问题?
以下是几个示例:
输入:
#lang scheme
(define (equalimp lis1 lis2)
(COND
((NULL? lis1) (NULL? lis2))
((NULL? lis2) '())
((EQ? (CAR lis1) (CAR lis2)) (equalimp (CDR lis1) (CDR lis2)))
(ELSE '())
))
输出:
欢迎使用DrScheme,版本4.2.5 [3m]。语言:scheme;内存限制:128 MB。
扩展:在模块中未绑定标识符COND。
输入:
#lang scheme
(define (quadratic_roots a b c)
(LET (
(root_part_over_2a
(/ (SQRT (- (* b b) (* 4 a c))) (* 2 a)))
(minus_b_over_2a (/ (- 0 b) (* 2 a)))
)
(DISPLAY (+ minus_b_over_2a root_part_over_2a))
(NEWLINE)
(DISPLAY (- minus_b_over_2a root_part_over_2a))
))
输出:
扩展:模块中未绑定的标识符:LET
注意:我尝试使用LET*,因为我读到了这个链接:stackoverflow.com/questions/946050/using-let-in-scheme,但它产生了相同的错误。
谢谢!