青木です。

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 は安全性の観点から拒否すべきと感じます。
-------------------------------------------------------------------
青木峰郎