"require"在Dr. Racket中不起作用

4
我是新手,正在尝试跟踪一个Scheme函数。我需要加载“trace”函数。根据Racket文档,我需要执行以下操作:
(require racket/trace)
但我收到的回复是:
require: undefined; cannot reference undefined identifier 我感到很困惑。如果有区别的话,我使用的语言是“R5RS”。在网上或Stack Overflow上找不到任何关于这个问题的信息。

2
如果你想要在Racket中做任何有用的事情,就不能使用R5RS语言。请选择另一种语言,比如Racket(选择“使用源代码中声明的语言”,然后在文件顶部加上#lang racket),如果可以的话。 - C. K. Young
2个回答

12

试试这个:

(#%require racket/trace)

4

Chris Jester-Young的评论是正确的:不要使用R5RS。在标准的R5RS语言中,没有所谓的模块。请看:http://www.schemers.org/Documents/Standards/R5RS/;没有任何关于模块的内容。

Racket更加严格地遵循标准:如果你告诉它以R5RS模式工作,它会关闭标准未描述的语言功能。

如果你正在使用Racket工具链,请不要使用R5RS语言,除非你真的想使用受限制的语言。相反,应该使用标准的#lang racket。详情请见:http://docs.racket-lang.org/guide/intro.html,其中介绍了如何在该模式下使用它。


谢谢。虽然一个小提示是将“#lang racket”放在文本文件中与程序代码一起,而不是在交互窗口中。 - Steve Quezadas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接