1

Ruby の標準ディストリビューションのクラスparse!で非常に一般的に使用されるインスタンス メソッドである のドキュメントを見つけることができませんでした。OptionParser

OptionParse クラスのドキュメントの上部にある例で使用されているのを見てました。ただし、このメソッドに固有のドキュメント、メソッドが正確に何をするかを説明するドキュメントを探しています。たとえば、ドキュメンテーションは、とりわけ、メソッド名が感嘆符で終わる理由についての手がかりを提供する必要があります (おそらく、このメソッドは ARGV からオプションを削除します)。また、有用なものが返されることを期待する必要があるかどうかについても説明する場合があります (解析されたオプションの数?)。parse!parse!

クラスとそのクラスの上部にリストされているすべてのサブクラスの公式ドキュメントを読んでみました。関連セクションのプログラミング Ruby (「つるはしの本」) も参考にしました。OptionParse

私は何をするかを尋ねているのではありませんparse!私は、他の StackOverlow スレッドを読むことで、(不完全ではあるが) まともな感覚を持っています。Ruby のドキュメントを理解する能力を向上させたいと思っています。私は Perl/CPAN のドキュメントに慣れています。Ruby のドキュメントを扱っていると、標準の配布モジュールであっても、非常に途方に暮れます。誰かが重要な情報を削除または移動したかのようです。ときどき、重要なメソッドのドキュメントがあると思われる場所に出くわし、そのメソッドのソース コードを調べるだけで済むことがあります。Rubyでの情報の整理に慣れていないだけなのかな。多分これは私にとって良い教訓になるかもしれません。

4

1 に答える 1

1

ほとんどのドキュメントでRubydoc.infoを使用しています。OptParseのドキュメントでは、次のようparseにかなり明確に説明 されています。

環境変数 POSIXLY_CORRECT が設定されている場合はコマンドライン引数 argv を順番に解析し、それ以外の場合は順列モードで解析します。

そのメソッドのソース リンクを確認すると、以下を使用して実装されていることがわかりますparse!

def parse(*argv)
  argv = argv[0].dup if argv.size == 1 and Array === argv[0]
  parse!(argv)
end

そして、見るとparse!さらに多くのことがわかります。

欠落または削除された情報について: ほとんどの Ruby ドキュメントは、ソース コードの内容に基づいて RDoc (YARD) によって生成されるため、通常、欠落している情報はコードの作成者の責任です。

一部の人々は忙しすぎて正確に文書化することができず、完全に無視したり、何を文書化すればよいかを知りません。私たちは、コードのユーザーとして、より良いドキュメントを実装するソースへの変更を提出することによって支援することができます. 何か混乱したり間違っていたりするのを見つけたとき、私はさまざまなプロジェクトで何度もそれをしました。

于 2011-08-14T21:00:44.847 に答える