ruby-changes:21398
From: drbrain <ko1@a...>
Date: Tue, 11 Oct 2011 05:54:59 +0900 (JST)
Subject: [ruby-changes:21398] drbrain:r33447 (trunk): * object.c (Init_Object): Add reference to BasicObject, brief
drbrain 2011-10-11 05:54:45 +0900 (Tue, 11 Oct 2011) New Revision: 33447 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33447 Log: * 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] Modified files: trunk/ChangeLog trunk/object.c Index: ChangeLog =================================================================== --- ChangeLog (revision 33446) +++ ChangeLog (revision 33447) @@ -1,3 +1,10 @@ +Tue Oct 11 05:53:23 2011 Eric Hodel <drbrain@s...> + + * 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] + Sun Oct 9 11:06:52 2011 Kazuki Tsujimoto <kazuki@c...> * test/psych/test_yamldbm.rb: don't run test if the system Index: object.c =================================================================== --- object.c (revision 33446) +++ object.c (revision 33447) @@ -2544,10 +2544,16 @@ * 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 @@ /* 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>). -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/