diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-10-10 20:54:45 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-10-10 20:54:45 +0000 |
commit | ee8fd5f1972735020f42b3ef74880540347721cc (patch) | |
tree | a76c1217424c473a37b4dfffac9af054143eeaa4 /object.c | |
parent | 91e013c70957cbbac6bc60c7f7072cfb68e5bf5f (diff) | |
download | ruby-ee8fd5f1972735020f42b3ef74880540347721cc.tar.gz |
* object.c (Init_Object): Add reference to BasicObject, brief
explanation of constant lookup. Based on patch by Alvaro Pereyra
Rabanal.
[Ruby 1.9 - Bug #5426]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 25 |
1 files changed, 18 insertions, 7 deletions
@@ -2544,10 +2544,16 @@ rb_f_array(VALUE obj, VALUE arg) * Classes in Ruby are first-class objects---each is an instance of * class <code>Class</code>. * - * When a new class is created (typically using <code>class Name ... - * end</code>), an object of type <code>Class</code> is created and - * assigned to a global constant (<code>Name</code> in this case). When - * <code>Name.new</code> is called to create a new object, the + * Typically, you create a new class by using: + * + * class Name + * # some class describing the class behavior + * end + * + * When a new class is created, an object of type Class is initialized and + * assigned to a global constant (<code>Name</code> in this case). + * + * When <code>Name.new</code> is called to create a new object, the * <code>new</code> method in <code>Class</code> is run by default. * This can be demonstrated by overriding <code>new</code> in * <code>Class</code>: @@ -2670,13 +2676,18 @@ rb_f_array(VALUE obj, VALUE arg) /* Document-class: Object * - * Object is the root of Ruby's class hierarchy. Its methods are available - * to all classes unless explicitly overridden. + * Object is the default root of all Ruby objects. Object inherits from + * BasicObject which allows creating alternate object hierarchies. Methods + * on object are available to all classes unless explicitly overridden. * * Object mixes in the Kernel module, making the built-in kernel functions - * globally accessible. Although the instance methods of Object are defined + * globally accessible. Although the instance methods of Object are defined * by the Kernel module, we have chosen to document them here for clarity. * + * When referencing constants in classes inheriting from Object you do not + * need to use the full namespace. For example, referencing +File+ inside + * +YourClass+ will find the top-level File class. + * * In the descriptions of Object's methods, the parameter <i>symbol</i> refers * to a symbol, which is either a quoted string or a Symbol (such as * <code>:name</code>). |