【发布时间】:2011-08-05 23:47:11
【问题描述】:
GNU Smalltalk 省略了 argv 中的脚本名称。
#!/usr/bin/env gst -f
| argv program |
argv := Smalltalk arguments.
(argv size) > 0 ifTrue: [
program := argv at: 1.
Transcript show: 'Program: ', program; cr.
] ifFalse: [
Transcript show: 'argv = {}'; cr.
]
$ ./scriptname.st
argv = {}
我看到了两种获取脚本名称的方法:
- 跟踪一些 Smalltalk 方法,该方法返回类似于 Perl 的变量
$0的脚本名称。 - 跟踪多行 shebang 的语法并强制 GST 提供脚本名作为 argv 的第一个成员。这是Common Lisp 中的一个示例。
【问题讨论】:
-
将您的问题发布到 GNU Smalltalk 邮件列表中,您很可能会从实施 GST smalltalk.gnu.org/community/ml的人员的知识和经验中受益。
标签: filenames smalltalk gnu-smalltalk