2017-05-05 12 views
3

我尝试执行用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 

然而,这将是对我更倾向于不换我的代码到一个模块中。是否有可能通过传递命令行参数(或以任何其他方式)来实现该目标?

回答

1

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

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

+1

这个解决方案已经足够满足我的需求了,谢谢。你能分享一个链接到文档部分,揭示一个'asl','bsl','bsl +','isl','isl +'list? – Robson

+1

事实上,我只是通过挖掘'Racket \ share \ pkgs \ htdp-lib \ htdp'才发现它。 –