Newbie question about the # symbol


#1

I have just started learning Ruby and I am going through as much
documentation as I can find. The only question that I cannot seem to
find an answer to concerns the use of the # symbol when referring to
methods (I think I’ve seen it used to refer to both class and instance
methods).

Here is an example:
http://www.rubycentral.com/book/ref_c_io.html#IO.select

On the above page there is a link to “Kernel#select” which is a class
method.

and here:
http://www.rubycentral.com/book/ref_c_object.html#Object.is_a_qm

There is a link to “Object#kind_of?” which is an instance method.
Clearly the purpose of the hash mark has another purpose. Anyone know
what document explains this?

Thanks!
Justin


#2

is not Ruby syntax, it’s a documentation convention that denotes

“instance method,” as in “kind_of? is an instance method of Object” as
opposed to “class method,” which is distinguished by a period between
the class name and the method name.


#3

Justin wrote:

There is a link to “Object#kind_of?” which is an instance method.
Clearly the purpose of the hash mark has another purpose. Anyone know
what document explains this?

The notation’s explained in the preface:

http://www.rubycentral.com/book/preface.html#S10

Basically it means “the instance method kind_of? implemented by the
Object class”; not really syntax, but convention for discussing Ruby.
The ‘ri’ utility uses something similar.


#4

On Mar 14, 2006, at 7:33 AM, removed_email_address@domain.invalid wrote:

is not Ruby syntax, it’s a documentation convention that denotes

“instance method,” as in “kind_of? is an instance method of Object” as
opposed to “class method,” which is distinguished by a period between
the class name and the method name.

Class methods are also often shown as follows:

MyClass::class_method

ri even seems to favor this notation.

James Edward G. II


#5

On Mar 14, 2006, at 7:20 AM, Justin wrote:

Here is an example:
http://www.rubycentral.com/book/ref_c_io.html#IO.select

On the above page there is a link to “Kernel#select” which is a class
method.

Actually, all the Kernel methods are instance methods, so they can be
mixed into Object.

James Edward G. II


#6

Mike F. wrote:

Basically it means “the instance method kind_of? implemented by the
Object class”; not really syntax, but convention for discussing Ruby.
The ‘ri’ utility uses something similar.

Ahh ok, excellent thank you that was confusing me quite a bit.