我发现(可能过时且不正确)blog post from 2004声称无法从命令行运行Smalltalk脚本。从那时起有什么变化,是否可以从命令行运行Smalltalk脚本?我做了很多谷歌搜索,我根本没有找到关于这个主题的信息。
有没有办法将Smalltalk脚本(例如此脚本)保存为文件,然后从命令行运行脚本?
Transcript show: 'This should be printed to the standard output.' printString; cr.
答案 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中拥有一个真正的无头虚拟机和映像,并且可以通过仅使用所需的类将其引导来制作更小的映像。