在不包装模块的情况下在终端中执行 Racket Beginning Student 脚本

Executing Racket Beginning Student scripts in terminal without wrapping in a module

我尝试执行用 DrRacket 环境提供的一种教学语言(例如 Beginning Student)编写的脚本。

我可以通过将代码包装到一个模块中来实现这一点(就像 DrRacket 所做的那样):

#reader(lib "htdp-beginner-reader.ss" "lang")((modname my_module) (read-case-sensitive #t) (teachpacks ()) (htdp-settings #(#t constructor repeating-decimal #f #t none #f () #f)))
;; my code goes here

但是,我最好不要将我的代码包装到模块中。是否可以通过传递命令行参数(或任何其他方式)来实现?

您可以使用 #lang htdp/bsl 之类的东西。我看到可用的列表是 aslbslbsl+islisl+。如果你知道它应该使用的语言,你可以使用这些,也许是一个简短的脚本,在启动之前将它添加到临时文件中(我假设你使用的是命令行球拍而不是 DrRacket,因为在 DrRacket 中你可以只选择左下角的语言是正确的语言)。

我找不到一种方法来配置 racket 可执行文件以在开始时强加一种语言。希望有人来解释 -I 应该如何设置语言,因为我无法弄明白。