与drRacket的兼容性问题:“要求”和“框架”

时间:2013-04-28 14:49:49

标签: scheme compatibility racket

我想知道我的drRacket是否有问题: 我在程序的互联网上看到了例子,但是当我把它们放在Dr racket中时,它认为它们是一个错误。

当我在新文件的开头写(require racket/base)时,它首先附加。它立即认为它像一个错误。所以我用#lang racket/base替换它并且没关系但很奇怪,我仍然不知道为什么它不起作用。

然后,我尝试使用此命令:(define FRAME (new frame% [label "Graphic"] [width 500] [height 500])) 但它显示了一个新错误:new: unbound identifier in module in: new。 这次我无法找到能够向我展示我的图形的东西:(

我不明白:为什么当我复制过去在网上工作的程序时,他们不打算跟我说话?真的很令人沮丧。我下载了该程序的最新版本(版本5.3.3),但它并没有解决我的问题。

任何人都可以解释它与其他人的合作,但它不能与我合作吗?或者也许告诉我如何做我的图形?

1 个答案:

答案 0 :(得分:4)

首先我建议你用

开始每个程序
#lang racket

因为这为您提供了Racket语言的完整基础。还要确保DrRacket设置为“从源确定语言”(在Mac OS X的左下角)。

然而,有些东西需要进口。例如,如果你在文档中查找 new ,则它是通过球拍/类或球拍提供的,而不是通过球拍/基础提供的,这解释了你得到的信息。

frame%由racket / gui或racket / gui / base提供,所以最终会有效:

#lang racket
(require racket/gui)
(define FRAME (new frame% [label "Graphic"] [width 500] [height 500]))

您复制粘贴的示例可能包含require语句。

尽量熟悉阅读Racket文档,它们写得很好并且可以搜索。