2

我看过以下代码:

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

4

1 回答 1

0

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

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

  • 阅读最新版本的 Ruby 中的模块文档。使用 ruby​​-doc.org,即使此版本适用于 Ruby 2.0 而您使用的是 Ruby 1.8,它仍然可能更清晰、更完整。
  • 使用 google 查找代码示例。
  • 使用 irb 检查示例是否确实有效。
  • 使用 ri 检查您的 ruby​​ 版本的文档是否存在。如果存在,请查看有关您的版本中可能有什么不同的任何见解。
  • 使用反射/自省来尝试发现任何可能有用的公开方法。
于 2013-10-09T03:41:32.047 回答