我将下面的htdp/bsl程序另存为example.rkt
#lang htdp/bsl
(+ 1 1)当使用racket example.rkt运行上面的代码时,输出结果与预期一致(即2)。
但是,当我尝试以htdp/bsl作为语言(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...:例如,当选择的语言为typed/racket时,不会出现此错误。
为什么htdp/bsl会出现这个错误,以及如何正确地使用htdp/bsl作为语言来启动REPL?
发布于 2017-09-28 02:07:57
正如@soegaard所说,htdp语言在DrRacket中工作得最好,在这种情况下我强烈推荐它。然而,如果你真的想要一个DrRacket之外的repl (比方说,如果你正在给作业评分,并想为它做一个shell脚本),那么你可以实际使用,enter来获得一个BSL REPL。假设您有一个名为homework1.rkt的BSL文件,其内容如下:
#lang htdp/bsl
"I'm a rebel"然后你能做的就是在文件目录中打开球拍并进入模块。在本例中,您将得到如下内容:
$ racket
> ,enter "homework1.bsl"
"I'm a rebel"
homework1.bsl>从这里开始,您将处于BSL repl中,它与DrRacket中的非常相似。
发布于 2017-09-10 03:39:12
使用
racket -I htpd/bsl/lang example.rkt启动您的程序(使用球拍版本6.3.0.1进行测试)。
另外,考虑更新到当前版本的球拍(版本6.10)。
https://stackoverflow.com/questions/46045086
复制相似问题