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 = {}
スクリプト名を取得するには、次の 2 つの方法があります。
- Perl の variable に似たスクリプト名を返す Smalltalk メソッドを探し出します
$0
。 - 複数行のシバンの構文を追跡し、GST がスクリプト名を argv の最初のメンバーとして提供するように強制します。これはCommon Lispの例です。