mozillalives
mozillalives

Reputation: 1470

Ruby equivalent to Python's help()?

When working in interactive Python, I tend to rely on the built-in help() function to tell me what something expects and/or returns, and print out any documentation that might help me. Is there a Ruby equivalent to this function?

I'm looking for something I could use in irb. For example, in interactive Python I could type:

>>> help(1)

which would then print

Help on int object:

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

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

Upvotes: 27

Views: 7424

Answers (3)

Peter
Peter

Reputation: 132347

You can also use ri from within irb. I'd recommend the wirble gem as an easy way to set this up.

Upvotes: 6

codewizard
codewizard

Reputation: 406

For quick shell access to ruby documentation, just type ri followed by the method you're wanting to learn more about (from your shell).

For example:

ri puts

This must be fired up in your shell, not your irb (interactive ruby environment)

If you're in your irb environment, then another way, is to simply type help followed by the method you want to learn more about as follows:

help puts

However, this assumes that you have configured your Ruby environment correctly for that (help) to work properly within irb. I usually just have another shell open, and just use the ri directly for quick access when I'm in doubt about a certain method or arguments to a method.

Upvotes: 1

Freedom_Ben
Freedom_Ben

Reputation: 11953

It's now late 2014 and here's the two ways to get the Python help() *similarity, as long as you have the Ruby Docs installed:

  1. From inside irb, You can call the help method with a string describing what you're looking for.

    Example 1: help 'Array' for the Array class
    Example 2: help 'Array#each' for the Array class each method.

  2. From the command line, outside of irb, you can use the ri program:

    Example 1: ri 'Array' for the Array class
    Example 2: ri 'Array#each' for the Array class each method.

* Not quite as good as Python's, but still better than nothing

Upvotes: 9

Related Questions