Ruby OptionParser的解析文档在哪里!方法?

时间:2011-08-14 20:33:39

标签: ruby optionparser

我无法找到parse!的任何文档,这是Ruby标准发行版中OptionParser类的常用实例方法。

看到parse!顶部的示例中使用了parse!。但是,我正在寻找特定于此方法的文档,该文档描述了该方法的确切功能。例如,文档应该提供一个线索,说明为什么方法名称以爆炸结束(可能这个方法从ARGV中删除了选项)。它还可以描述我是否应该期望从OptionParse返回任何有用的东西(解析的选项数量?)。

我已尝试阅读parse!类的documentation for the OptionParse class和该类顶部列出的所有子类。我还参考了相关部分 Programming Ruby (“镐书”)。

询问{{1}}做了什么;通过读取其他StackOverlow线程,我有一个不错的(如果不完美的)感觉。 我希望提高我理解Ruby文档的能力。我更习惯于Perl / CPAN文档。当我处理Ruby documentaiton时,即使是标准的分发模块,我也感到非常迷茫。好像有人删除或重新定位了关键信息。有时候我会遇到一个我认为关键方法文档的位置,并且发现我只是检查所述方法的源代码。我想知道我是不是习惯于如何在Ruby中组织信息。也许这对我来说是一个很好的教训。

1 个答案:

答案 0 :(得分:1)

我在大多数文档中使用Rubydoc.infoOptParse的文档很清楚地解释了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根据源代码中的内容生成的,因此,缺少的信息通常是代码作者的错误。

有些人太忙了,无法正确记录,要么完全忽略它,要么不知道要记录什么。作为代码的用户,我们可以通过提交实现更好文档的源的更改来提供帮助。当我发现一些令人困惑或错误的东西时,我已经在不同的项目上做了很多次。