Flu*_*lux 5 racket racket-student-languages
我将以下htdp/bsl程序保存为example.rkt:
#lang htdp/bsl
(+ 1 1)
Run Code Online (Sandbox Code Playgroud)
当使用上述运行时racket example.rkt,输出是预期的(即2).
但是,当我尝试使用htdp/bsllanguage(racket -I htdp/bsl)启动REPL时,会出现以下错误:
Welcome to Racket v6.3.
default-load-handler: cannot open module file
module path: (lib "htdp/bsl")
path: /usr/share/racket/pkgs/htdp-lib/htdp/bsl.rkt
system error: No such file or directory; errno=2
context...:
Run Code Online (Sandbox Code Playgroud)
typed/racket例如,当选择的语言时,不会出现此错误.
为什么会发生错误htdp/bsl,以及如何htdp/bsl以语言正确启动REPL ?
正如@soegaard 所说,htdp 语言在 DrRacket 中确实效果最好,在这种情况下我强烈推荐它。然而,如果你真的想要 DrRacket 之外的 REPL(比如你正在给作业评分并想为它制作一个 shell 脚本),那么你实际上可以,enter用来获取 BSL repl。假设您有一个名为 的 BSL 文件homework1.rkt,它说:
#lang htdp/bsl
"I'm a rebel"
Run Code Online (Sandbox Code Playgroud)
那么你可以做的就是打开文件目录下的Racket,进入模块。在这种情况下,你会得到类似的东西:
$ racket
> ,enter "homework1.bsl"
"I'm a rebel"
homework1.bsl>
Run Code Online (Sandbox Code Playgroud)
从这里开始,您将处于与 DrRacket 中的非常相似的 BSL repl 中。
使用
racket -I htpd/bsl/lang example.rkt
Run Code Online (Sandbox Code Playgroud)
启动您的程序(使用 Racket 版本 6.3.0.1 进行测试)。
另外,请考虑更新到 Racket 的当前版本(版本 6.10)。
| 归档时间: |
|
| 查看次数: |
341 次 |
| 最近记录: |