From: Tadashi Saito Date: 2010-03-25T21:47:27+09:00 Subject: [ruby-dev:40757] Re: -U オプションの説明が --help にない 斎藤と申します。 On Thu, 25 Mar 2010 20:24:52 +0900 Shugo Maeda wrote: > 対案として24行の制限を外すというのはどうでしょうか。 +1します。 僕が知る限り、ほとんどのコマンド(GNUプロダクト)は --help ですべてのコマンドライン オプションを表示します。ユーザーはRubyにもそれを期待していると思います。 その期待は、過去に何度も寄せられた、「○○オプションが--helpに出ない」という 「バグ報告」から十分に推測できると思います。 まつもとさんが出力のコンパクトさにこだわるのも一里あると思いますが、現実として、 Rubyのオプションは増え続けています。これは「--helpで把握できる情報と、現実に利用 できる機能との乖離が大きくなっている」ということです。この現実からは目を逸らすべきでは ないでしょう。もしユーザーが、上記の乖離にハマった後に「バグ報告」を行っているのなら、 上がった報告以上の数の不幸があったかもしれません。 「man rubyすれば、今でもすべてのオプションの説明が見られる」という主張もあるかとは 思います。しかし多くのユーザーは、--helpの出力の方がコンパクトで手軽だと想像するで しょう。手軽な方=ユーザーがまず見そうな方も、期待通りに分かりやすくする=完全な オプション一覧を表示するのが、望ましい対処であると考えます。 よって、「--helpの出力は24行以内」という制限を外し、すべてのオプションを表示するのが もっとも妥当な選択肢だと思います。 ただ冒頭で「ほとんどの」と書いたように、現実として例外もあります。オプションが多い いくつかのコマンドは、--helpで完全なリストは出てきません。例えば、gccでは--help -vと する必要があります。またlameには、--longhelpというオプションがあります。 これらのコマンドの様に、現行の「24行以内のコンパクトな概要となるリストを表示する」機能を --helpに与えたまま、それとは別に「完全なリストを表示する」--longhelpのようなオプションを 用意するのが、次善の策になるかもしれません。 ただその場合、--helpの中には必ず--longhelp自体の説明を入れ、完全なリストへのポインタを 提示するようにお願いしたいです。現状では、--helpが完全なリストでないことが明示されていない 事が、勘違いを生む原因になると想像するからです。 -- 斎藤ただし