やすしです。



From: kjana / os.xaxon.ne.jp (YANAGAWA Kazuhisa)
Subject: [ruby-ext:00917] Re: getoptLong
Date: Mon, 21 Feb 2000 21:36:15 +0900 (JST)

> 真面目に書こうとすると,こんな風に書きたくなるのですね.

いや、真面目にじゃなくて、どれだけ手抜きできるかだったり(笑)

> でもって,
> 
>     opt.each do
>       |o, v|
>       case o
>       when "help"
>         :
>       when "version"
>         :
>       when "output"
>         :
>       end
>     end

これだと optionの優先順位とかって大丈夫なんでしょうか?

> なんてする.実は `opt["help"] == true' とか
> `of = File.open(opt["output"], "w") とか書けたら良いなと思わなくもない
> けど,それは別のお話.

documentにある、

begin
  parser.each_option do |name, arg|
    eval("$OPT_#{name.sub(/^--/, '').gsub(/-/, '_').upcase} = '#{arg}'")
  end
rescue
  exit -1
end

を、そのまま使ってます(^^;

$OPT_OUTPUT = 'default.file'
  :
  :
of = File.open($OPT_OUTPUT, "w")
って、できますよね?

あと、

if $OPT_HELP then print_help end

とか

>     parser.set_options(*opts)
> 
> でこの場合なら何の問題も無し.

ばっちりでした(__; ありがとうございます。
--
               yashi