我如何理解Ruby文档?

时间:2013-10-09 00:24:24

标签: ruby

我见过如下代码:

Net::HTTP::Post.new(url)

如果我按如下方式使用ri

$ ri Net::HTTP::Post

我几乎没有文档,并且:

$ ri Net::HTTP::Post.new

结果

Nothing known about Net::HTTP::Post.new

在阅读Net::HTTP的文档时,我怀疑代码应该使用Net::HTTP#request_post。我仍然发现使用此模块的正确方法令人困惑。为什么Net::HTTP::Post.net似乎有效?即使使用Net::HTTP.request_post,我也会得到:

undefined method `request_post' for Net::HTTP:Class.

为了澄清我的问题,我想知道如何:

  • 找到ruby的最佳文档。
  • 鉴于提供的示例,获取实现目标的最佳方法(即,发出HTTP POST请求,我将添加我需要在正文中使用提供身份验证,cookie和数据)。
  • 理解当方法用'R'注释时意味着什么(这意味着'只读'?这没有意义,因为我需要设置请求体,这意味着写...

相比之下,这是Python的等效文档,我理解(自己是一个python开发者):http://docs.python.org/2/library/httplib.html

1 个答案:

答案 0 :(得分:0)

除非其他人有更好的答案,否则我最终会接受这个答案:

为了理解Ruby的文档,请按顺序执行以下操作:

  • 在最新版本的Ruby中阅读该模块的文档。使用ruby-doc.org,即使这个版本适用于Ruby 2.0并且您使用的是Ruby 1.8,它仍然可能更加清晰和完整。
  • 使用谷歌查找代码示例。
  • 使用irb检查示例是否确实有效。
  • 使用ri检查您的ruby版本是否存在文档。如果存在,请查看有关您的版本可能有何不同的任何见解。
  • 使用反射/内省来尝试发现任何可能有用的暴露方法。