The*_*kle 8 smalltalk compilation stdout gnu-smalltalk
每当我开始学习语言时,我做的第一件事就是生成一个用该语言编写的可执行文件(可能是一个已编译的程序或一个脚本),当运行打印'hello,world'和stdout的换行符时:
theironknuckle@beastbook:~/Code$ ./hello
hello, world
Run Code Online (Sandbox Code Playgroud)
在使用GNU Smalltalk大约一个小时后,我还没有发现如何做到这一点.
(我知道你好世界节目可以在会话中表达为
'hello, world' printNl
Run Code Online (Sandbox Code Playgroud)
这不符合我的标准要求)
据我所知,Smalltalk没有主线.所以我非常感兴趣的是可能需要什么类型的样板来实现它.同样,该文件不一定必须编译,但练习的最终结果必须是导致上述会话提取的smalltalk代码.
PS.yesyesyes 我知道我没有接受"基于图像的编程"哲学,这是错误的.我不在乎.我并不反对学习如何使用图像和IDE以及所有这些,但我现在对它的兴趣微乎其微.我关心的是Smalltalk语言本身.在语法上,哲学上和印刷上它是相当美丽的.从命令行解释器和文本编辑器学习编程语言我感到很自在.:)
Stu*_*ing 12
在GNU Smalltalk中,几乎没有样板.您可以将您的单行放在.st文件中,然后运行它gst hello.st
如果你想使用类而不是直接执行的语句进行探索,那么这也很简单,传递给文件中的以下内容将起到作用gst:
Object subclass: Hello [
greet [
'Hello, World' displayNl
]
].
greeting := Hello new.
greeting greet.
Run Code Online (Sandbox Code Playgroud)
传递给gst命令行的文件将按顺序进行解析和执行,因此您可以将上面的列表拆分为两个单独的文件 - 一个用于声明/编译该类,另一个用于实际运行它.
一旦开发了程序,就可以-S在加载类后使用gst标志对图像进行快照,这样每次都不会产生编译开销,而只需运行启动语句即可.
gst还有shebang支持,所以#! /usr/bin/gst -f如果你不想手动将它传递给gst ,你可以放在文件的顶部.(有关更多内容,请参阅有关调用的文档,包括如何在不对其进行硬编码的情况下执行此操作gst)
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |