青木です。
optparse で --lines オプションを定義すると -L も
通ってしまうのですが、これはやりすぎではないでしょうか。
~ % cat t
require 'optparse'
parser = OptionParser.new
parser.on('--line') {
puts 'opt=-l'
}
parser.parse!
~ % ruby t -l
opt=-l
~ % ruby t --l
opt=-l
~ % ruby t -L
opt=-l
~ % ruby t --L
opt=-l
例えば問題になる状況として以下のような場合が考えられます。
* 「あのオプションは -l だったかな〜 -L だったかな〜」
* コマンドラインで試してみて -L が通ることを確認
* シェルスクリプトに -L を記述
* あとでコマンドに -L オプションが追加される
* はまり道 2 時間コース
-l や --L を --lines と認識されるのはまだ納得がいくのですが、
-L は安全性の観点から拒否すべきと感じます。
-------------------------------------------------------------------
青木峰郎