Ruby中类似Python的help()函数的等效方法是什么?

27
在交互式Python中,我倾向于依赖内置的help()函数来告诉我某个东西需要什么或返回什么,并打印出可能帮助我的任何文档。是否有Ruby等效于此函数?
我正在寻找在irb中可以使用的东西。例如,在交互式Python中,我可以输入:
>>> help(1)

然后会打印出

Help on int object:

class int(object)  |  int(x[, base])
-> integer  |    |  

Convert a string or number to an integer, if possible. A ...

1
参见:https://dev59.com/lnRB5IYBdhLWcg3w6bYE - Mechanical snail
5个回答

9
现在已经是2014年末,以下是两种获取Python help() *相似功能的方法,只要已安装Ruby Docs
  1. irb 中,您可以使用一个描述您要查找内容的字符串调用 help 方法。

    示例1: 对于数组类,可以使用 help 'Array'
    示例2: 对于 Array 类中的 each 方法,可以使用 help 'Array#each'

  2. 在命令行上,在 irb 之外,可以使用 ri 程序:

    示例1: 对于数组类,可以使用 ri 'Array'
    示例2: 对于 Array 类中的 each 方法,可以使用 ri 'Array#each'

* 虽然不及 Python 的好,但总比没有好。


6

尝试在命令行中使用ri

它接受类名、方法或模块作为参数,并提供适当的文档。许多流行的gem也带有这种形式的文档,因此即使超出核心Ruby模块的范围,它通常也会起作用。


1
很酷。但这只能从命令行使用,对吗?我想知道如果我在irb中,我该如何获取特定变量的帮助。 - mozillalives

6

它绝对是 iPython 的 help 的贫穷表亲,也是我在转向 Ruby 后最想念的主要特性之一,但你也可以在 irb 中使用 ri。我建议使用 wirble gem 作为设置这个的简单方法。


1
好的,我认为这会起作用。我可以使用 "Object.ri variable.class" 获取类的文档,然后使用 "Object.ri variable.class.to_s + ".method"" 获取方法文档。谢谢。 - mozillalives
我输入 ri String,它会显示“String 没有任何已知信息”。 - fikr4n
你知道 Wirble 还能用吗?(并且是否更新了?)(链接已经失效) - stevec

1

如果您想快速访问 Ruby 文档,只需在 shell 中键入 ri,然后输入您想了解更多的方法即可。

例如:

ri puts

请注意,这必须在 shell 中启动,而不是在 irb(交互式 Ruby 环境)中。

如果您在 irb 环境中,则可以通过简单地键入 help,然后输入您想了解更多的方法来实现:

help puts

然而,这假定您已经正确地配置了Ruby环境,以便在irb中正常工作。当我对某个方法或参数有疑问时,我通常只需打开另一个shell,并直接使用ri进行快速访问。


0

应该有irb_help。但正如那篇文章中提到的,它在我的Ruby安装中也无法使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接