今更感あふれるoptparseで、デフォルトのヘルプメッセージを弄ってみる

Rubyにはoptparseと呼ばれるオプションパーサがついてます。
っていうのはみんな知ってるよね。
有名だもんね、うん。

便利なことにデフォルトで -h, --help オプションを指定することができて、
サマリを指定していた場合、自動的にそれを整形して表示してくれる便利なもの。
ただ、 Usage: ... という部分をいじるにはどうしたらいいかなと、ふと思ったのです。
ぐぐっても意外とヒットしないというか、検索の仕方が悪いんだろうなぁ……。
具体的には:

op = OptionParser.new do |opt|
  opt.on_tail("-h", "--help", "このメッセージを表示します") do |v|
    script_name = File.basename($0)
    opt.banner = "Usage: ruby #{script_name} [somefile] [options]"
    puts opt
    exit
  end
end
op.parse!(ARGV)

な感じ。
ただこれだと、-h が指定されていないときにbannerがデフォルトのものになるので、

script_name = File.basename($0)
banner = "Usage: ruby #{script_name} [somefile] [options]"
op = OptionParser.new(banner) do |opt|
  # do something
end

としたほうが、なんだかいい感じです。

オプションのみを取る(Rubyに限らない)スクリプトって
あんまり無いような気がするんですよね。

OptionParser#banner 属性は初めて知りました。
うんあのリファレンスマニュアル一番先頭にしっかり書いてありますね。
完全に僕が空回ってましたすみません。

リファレンスは穴が空くほど読めとあれほど……。orz