OptionParser で 必要な引数を Usage に表示する @ Blog - Linux Life

OptionParser で 必要な引数を Usage に表示する

2008/07/30 ( n ) < Ruby >

OptionParser を使用して

$ ./hoge.rb -a abc file1, file2 ...

のような引数を取るスクリプトを作成した場合、以下のように記述する。

ARGV.options do |opt|
    opt.on( '-a VALUE' ) { |a| p a }
    opt.parse!()
end
ARGV.each do |arg|
    # file の処理
end

これのヘルプを見てみると

$ ./hoge.rb --help
Usage: hoge [options]
    -a VALUE

となり、[options] の後に指定されるべき file[s] が表示されない。

色々悩んだ結果、

ARGV.options do |opt|
    opt.on( '-a VALUE' ) { |a| p a }
    opt.banner += " file[s]"
    opt.parse!()
end
ARGV.each do |arg|
    # file の処理
end

とするのが正しいんじゃないかと思う。

$ ./hoge.rb --help
Usage: hoge [options] file[s]
    -a VALUE

スポンサードリンク

Copyright © 2025 Linux-Life.net