在不包装模块的情况下在终端中执行 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
之类的东西。我看到可用的列表是 asl
、bsl
、bsl+
、isl
和 isl+
。如果你知道它应该使用的语言,你可以使用这些,也许是一个简短的脚本,在启动之前将它添加到临时文件中(我假设你使用的是命令行球拍而不是 DrRacket,因为在 DrRacket 中你可以只选择左下角的语言是正确的语言)。
我找不到一种方法来配置 racket 可执行文件以在开始时强加一种语言。希望有人来解释 -I
应该如何设置语言,因为我无法弄明白。
我尝试执行用 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
之类的东西。我看到可用的列表是 asl
、bsl
、bsl+
、isl
和 isl+
。如果你知道它应该使用的语言,你可以使用这些,也许是一个简短的脚本,在启动之前将它添加到临时文件中(我假设你使用的是命令行球拍而不是 DrRacket,因为在 DrRacket 中你可以只选择左下角的语言是正确的语言)。
我找不到一种方法来配置 racket 可执行文件以在开始时强加一种语言。希望有人来解释 -I
应该如何设置语言,因为我无法弄明白。