是否可以从命令行运行Smalltalk脚本?

时间:2013-06-23 00:05:59

标签: smalltalk gnu-smalltalk

我发现(可能过时且不正确)blog post from 2004声称无法从命令行运行Smalltalk脚本。从那时起有什么变化,是否可以从命令行运行Smalltalk脚本?我做了很多谷歌搜索,我根本没有找到关于这个主题的信息。

有没有办法将Smalltalk脚本(例如此脚本)保存为文件,然后从命令行运行脚本?

Transcript show: 'This should be printed to the standard output.' printString; cr.

4 个答案:

答案 0 :(得分:13)

Pharo提供了不错的命令行支持和一个简单的zeroconf脚本来安装它:

curl get.pharo.org | bash
./pharo Pharo.image --help
./pharo Pharo.image eval "1+2"

我们会定期在ci servers上使用这些工具。

可以通过子类化轻松安装新的命令行句柄。 您会找到部分文档here

Coral针对更复杂的接口,支持复杂的参数解析。 Pharo附带的默认命令行工具遵循相当简单的方法,您必须手动检查和处理参数。

答案 1 :(得分:9)

使用gst,它很简单。把它放入hi.st:

Transcript show: 'Hi!'

然后运行gst hi.st,你就完成了。

要从命令行传递参数,请按以下步骤操作:

Transcript show: 'Hi ' , Smalltalk arguments first , '!'

然后运行gst hi.st -a World

答案 2 :(得分:0)

gst - <<<"'hello' printNl"

这是在命令行上提供脚本的通用模式。它被称为这里的字符串。破折号将文件名设置为标准输入。并且Triple会使以下字符串成为标准输入文件。您仍然可以获得命令行参数扩展。

您可以使用here documents获得更多信息,让您在脚本中输入多行命令,或者在命令行中输入双倍小于。

答案 3 :(得分:-1)

并没有太大的变化,该博客文章现在比那时更错了。现在,我们在Pharo中拥有一个真正的无头虚拟机和映像,并且可以通过仅使用所需的类将其引导来制作更小的映像。