コマンドライン引数の取得
Posted feedbacks - Smalltalk
Smalltalk では処理系依存です。Squeak Smalltalk では、 起動時に
Squeak my.image program.st a b c d
のように記述し、スクリプト中では SmalltalkImage>>#getSystemAttribute: の引数 3 以降で取り出せます。
see: Squeak Swiki - Writing scripts
1 2 3 4 5 6 | | args |
World findATranscript: nil.
args := (3 to: 6) collect: [:idx | SmalltalkImage current getSystemAttribute: idx].
Transcript cr; show: args
"=> #('a' 'b' 'c' 'd') "
|
GNU Smalltalk。Cのgetoptっぽい機能が付いてます。
1 2 3 4 5 6 | Smalltalk arguments print.
Smalltalk arguments: '-c -d:' do: [:o :n| {o. n} print ]!
"
$ gst 114.st -a a b -c -dFuga
=> ('a' 'b' '-c' '-dFuga' )(nil 'a' )(nil 'b' )($c nil )($d 'Fuga' )
"
|




dankogai
#4868()
Rating12/18=0.67
以下にけだし同感なので。
inferno :: どう書く?orgは多言語クックブックになれるか > 一般投稿が可になった時に、ちょっと感じてたんですがやっぱり最近ある傾向が顕著で。というのは数学パズル系とか、(数学的な、事務処理などではない)アルゴリズム勝負!なお題ばっかりなんですよね。
というわけで、たまには簡単でその場で答えが出て、なによりある言語使いにとって「外国語」ではこういうんだというのがわかる問題として考えてみました。
% program a b c dで a, b, c, d を得るにはどうしたらよいかという、それこそネイティブには刺身タンポポより簡単だけど、「外国人」にはとっさに浮かばないという問題です。
Dan the Practical Programmer
[ reply ]