我将以下htdp/bsl程序保存为example.rkt:
#lang htdp/bsl
(+ 1 1)
当使用上述运行时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...:
typed/racket例如,当选择的语言时,不会出现此错误.
为什么会发生错误htdp/bsl,以及如何htdp/bsl以语言正确启动REPL ?
我遇到了 BSL 问题。我想将我的代码分成单独的辅助文件并使用
\n\n(require "auxiliary-function.rkt") \n首先将分离的代码导入到定义区域。然而它并没有像想象的那样工作。虽然没有给出明确的错误,但似乎 DrRacket 根本看不到单独文件中的代码,而我看到的只是错误
\n\n<auxiliary-function-name>: this function is not defined \n显然,
\n\n(provide x)\n不包含在 BSL 中。我已经阅读了手册和这个答案,但 xe2x80x99s 仍然不清楚如何进行这项工作。这在 BSL 中可能吗?
\n\n谢谢!
\n我在Dr-Racket中编写了一个简单的代码,但它无效.这是代码:
(place-image (circle 5 "solid" "green")
             50 80
             (empty-scene 100 100))
我选择了BSL语言进行编译,但它给出了以下错误:
place-image:此函数未定义
出了什么问题?
(define (subtract-1 n)
  (string-append "Number is: " (number->string n))
  (cond
    [(= n 0) "All done!"]
    [else (subtract-1(- n 1))]))
我不断收到错误消息:define:对于函数体,只期望一个表达式,但是发现了1个多余的部分。我不明白为什么要得到这个。
对自己的提示:使用DrRacket时,将语言设置为BSL可能会使Racket命令在编译时出错。