你好我正在学习Scheme。有时我遇到一个我无法理解的问题。就是这样。我正在使用DrRacket。在一个选项卡中我定义了一个函数然后我运行它。为了使用它,我将(functionName参数)写入终端部分。但是它说“functionName未定义”。然后我打开一个新标签。复制那里的功能并运行它。然后将其写入终端,它工作正常。为什么会发生这种情况?你们中有谁遇到过这个问题?谢谢你们......
答案 0 :(得分:0)
强烈建议您:在定义窗口中输入所有。从根本上说,这就是创建定义窗口的原因。将所有内容放在定义窗口中时,可以完全约束程序的行为。所以,例如,如果你运行这个程序:
#lang racket
(define (square x) (* x x))
(define (>= x y) (or (> x y) (= x y)))
(define (karekok x) (the y (and (>= y 0) (= (square y) x))))
在“The Racket Language”语言层面,我非常有信心你会得到与我相同的结果。
具体来说,错误如下:
Welcome to DrRacket, version 6.4.0.4--2016-01-19(-/f) [3m].
Language: racket [custom]; memory limit: 128 MB.
. the: unbound identifier in module in: the
>
如果您编辑问题以提供完整的计划,我打赌我们能够提供帮助。