mca*_*dre 9 program-entry-point smalltalk gnu-smalltalk
这样的事情存在吗?
红宝石:
if __FILE__ == $0
main
end
Run Code Online (Sandbox Code Playgroud)
Perl的:
unless(caller) {
main;
}
Run Code Online (Sandbox Code Playgroud)
LUA:
if type(package.loaded[(...)]) ~= "userdata" then
main(arg)
else
module(..., package.seeall)
end
Run Code Online (Sandbox Code Playgroud)
异国情调的多线 shebang 和 argv 技巧可以完成这项工作。
请参阅罗塞塔代码。
脚本化的main.st:
"exec" "gst" "-f" "$0" "$0" "$@"
"exit"
Object subclass: ScriptedMain [
ScriptedMain class >> meaningOfLife [ ^42 ]
]
| main |
main := [
Transcript show: 'Main: The meaning of life is ', ((ScriptedMain meaningOfLife) printString); cr.
].
(((Smalltalk getArgc) > 0) and: [ ((Smalltalk getArgv: 1) endsWith: 'scriptedmain.st') ]) ifTrue: [
main value.
].
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |