在控制台中,以任何方式获取某种方法的信息?

时间:2014-06-24 12:25:53

标签: ruby command-line console gem

假设我使用了gem csv

通过控制台中的以下内容,我获得了所有实例方法的列表:

require "csv"
csv = CSV.open(FILE_NAME, "a+")
csv.methods

我现在在列表中找到的一种方法是first

我可以从命令行获取有关此方法的信息吗? (是的,我知道我可以谷歌搜索文档。)

2 个答案:

答案 0 :(得分:5)

Pry(IRB替代方案)支持documentation browsing

$ pry
[1] pry(main)> require 'csv'
#=> true

[2] pry(main)> csv = CSV.new('')
#=> <#CSV io_type:StringIO encoding:UTF-8 lineno:0 col_sep:"," row_sep:"\n" quote_char:"\"">

[3] pry(main)> show-doc csv.first

From: enum.c (C Method):
Owner: Enumerable
Visibility: public
Signature: first(*arg1)
Number of lines: 8

Returns the first element, or the first n elements, of the enumerable.
If the enumerable is empty, the first form returns nil, and the
second form returns an empty array.

  %w[foo bar baz].first     #=> "foo"
  %w[foo bar baz].first(2)  #=> ["foo", "bar"]
  %w[foo bar baz].first(10) #=> ["foo", "bar", "baz"]
  [].first                  #=> nil

根据文档,您不必事先生成文档:

  

Pry文档系统不依赖于预先生成的rdoc或   ri,而是根据需要直接抓取方法上方的注释。   这样可以更快地检索文档并允许Pry   系统检索无法选择的方法的文档   上升rdoc

答案 1 :(得分:3)

最简单的方法可能是ri

$ ri 'CSV#first'

= CSV#first

(from ruby core)
=== Implementation from Enumerable
------------------------------------------------------------------------------
  enum.first       ->  obj or nil
  enum.first(n)    ->  an_array


------------------------------------------------------------------------------

Returns the first element, or the first n elements, of the enumerable. If the
enumerable is empty, the first form returns nil, and the second form returns
an empty array.

  %w[foo bar baz].first     #=> "foo"
  %w[foo bar baz].first(2)  #=> ["foo", "bar"]
  %w[foo bar baz].first(10) #=> ["foo", "bar", "baz"]
  [].first                  #=> nil

您可能需要先安装文档,如:How to get the Ruby documentation from the command line

中所述