“未绑定标识符”方案错误
我正在使用 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]。语言:方案;内存限制: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,但它产生了相同的错误。
谢谢 !
I'm using drscheme from:
http://www.archlinux.org/packages/extra/x86_64/drscheme/
I'm trying to work with the sample code in my textbook, but I keep getting getting "unbound identifier" errors. Is it because the scheme interpreter is not configured correctly? or is the code just plain wrong?
Here are a few examples:
Input:
#lang scheme
(define (equalimp lis1 lis2)
(COND
((NULL? lis1) (NULL? lis2))
((NULL? lis2) '())
((EQ? (CAR lis1) (CAR lis2)) (equalimp (CDR lis1) (CDR lis2)))
(ELSE '())
))
Output:
Welcome to DrScheme, version 4.2.5 [3m]. Language: scheme; memory limit: 128 MB.
expand: unbound identifier in module in: COND
Input:
#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))
))
Output:
expand: unbound identifier in module in: LET
Note: I tried using LET* because I read this: stackoverflow.com/ questions/946050/using-let-in-scheme but it produces the same error.
Thanks !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该语言设置看起来像是区分大小写的问题。我知道Scheme 应该不区分大小写,但是当我尝试时
它工作得很好。
It looks like a case sensitivity issue for that language setting. I know Scheme is supposed to be case-insensitive, but when I tried
it worked just fine.