1
私はパスワードを暗号化し、パスワードハッシュを解読するコマンドラインアプリケーションを書いています。 Getoptのドキュメントには例がないので、Getoptクラスの使い方はわかりません。いくつかの手掛かりがmailing list logsに散在しています。Smalltalkでgetoptが記載されていません
具体的には、with: pattern
の形式、CLI引数を指定する文字列、値が必須かオプションか省略されているかどうかはわかりません。
ios7crypt.st:
"exec" "gst" "-f" "$0" "$0" "[email protected]"
"exit"
| args password hash |
"Drop the program name."
"The shebang joins the arguments; we must split them."
args := (Smalltalk getArgv: 2) substrings: $ .
args do: [ :arg | Transcript show: 'Raw arg: ', arg; cr. ].
Getopt parse: args with: '-e: -d: -t' do: [ :opt :arg |
Transcript show: 'Opt: ', (opt asString), ' Arg: ', arg; cr.
"..."
].
例の実行:
$ ./ios7crypt.st -e monkey
Raw arg: -e
Raw arg: monkey
Opt: e Arg: monkey
以前は、-e
とmonkey
の両方がスクリプトに渡されましたが、Getoptののdo:
は黙っ-e
を落とし、その出力はように見えました:
$ ./ios7crypt.st -e monkey
Raw arg: -e
Raw arg: monkey
Opt: Arg: monkey
ああ、 – mcandre