[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]