From: Motoyuki Kasahara Date: 1998-10-26T11:01:30+09:00 Subject: [ruby-list:10336] Re: getoptlong.rb 笠原です。こんにちは。 * From: kjana@os.xaxon.ne.jp (YANAGAWA Kazuhisa) * Date: Sun, 25 Oct 1998 01:11:50 +0900 > 1. 409 行目の `RequireArgument' って `MissingArgument' の間違いです > よね. > > # どのみち例外は上がる (^^; その通りです。「どのみち例外が上がる」ので気が付きませんでした。(^^;) 直しておきます。どうもありがとうございます。 > 2. なんとなく `NeedlessArgument' って絶対にでないような気がするんで > すが,気の性でしょうか? > > # --foo 10(-f 10) なんて形だと,どんな ordering でも 10 はオプ > # ション以外の引数と見なされる.かといって -f10 というような形だ > # と,今度は「1 なんていうオプションは知らない」といわれる 長いオプションで次のように指定すると、NeedlessArgument が発生します。 --foo=10 > 3. `REQUIRED_ARGUMENT' だと「このオプションを指定するのは必須である」 > という意味にしか読めないのですが,`REQUIRE_ARGUMENT' とかにしませ > ん? これは、glibc の getopt.h でもそうなっています。ですから、それに合わせ ておこうと思いますが、いかがですか。 > 4. (3 と関連して)必須のオプション,オプショナルなオプションを指定 > できると嬉しいなと思います. > > # getopt.rb に対する parsearg.rb みたいに外付けの方がいいのかもし > # れませんが.オプションどうしの排他関係とか依存関係とかも考慮し > # たくなりますから. # もともと、オプショナルなものだから「オプション」って言うんですよね。 # (^^;) ともあれ、私としては getoplong.rb にこれ以上の機能を追加することは考え ていなくて、機能を追加するとしたら外付けにした方が良いと思います。 が、私自身はあまりその「外付け」を必要としないので、誰か作って頂けるな ら嬉しいなぁ、といったところです (スミマセン)。とりあえず、盛り込む機 能としては * オプションの排他関係、依存関係 * オプションの再定義の許可、禁止 * 指定されたオプションを Hash でアクセスできる。 (たとえば options['--foo'] のように) といった辺りでしょうか。 > # そこまでいうのもどうかという気もする.オプションの canonical name > # には `-' がついてるけど,Hash 的に使うならこれはついていない方が嬉 > # しいし. 一応 '-x' と '--x' は別扱いなので、先頭の '-' を取るわけにはいきません。 '--x' というオプションを定義するなんて、普通はしないと思いますが。 ______________________________________________________________________ 笠原 基之(かさはら もとゆき)