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

ruby-changes:17286

From: ryan <ko1@a...>
Date: Sat, 18 Sep 2010 15:56:50 +0900 (JST)
Subject: [ruby-changes:17286] Ruby:r29289 (trunk): Improved doco for both Module.new and Class.new

ryan	2010-09-18 15:56:41 +0900 (Sat, 18 Sep 2010)

  New Revision: 29289

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29289

  Log:
    Improved doco for both Module.new and Class.new

  Modified files:
    trunk/object.c

Index: object.c
===================================================================
--- object.c	(revision 29288)
+++ object.c	(revision 29289)
@@ -1423,7 +1423,7 @@
  *  the module object, and the block is evaluated in the context of this
  *  module using <code>module_eval</code>.
  *
- *     Fred = Module.new do
+ *     fred = Module.new do
  *       def meth1
  *         "hello"
  *       end
@@ -1432,9 +1432,12 @@
  *       end
  *     end
  *     a = "my string"
- *     a.extend(Fred)   #=> "my string"
+ *     a.extend(fred)   #=> "my string"
  *     a.meth1          #=> "hello"
  *     a.meth2          #=> "bye"
+ *
+ *  Assign the module to a constant (name starting uppercase) if you
+ *  want to treat it like a regular module.
  */
 
 static VALUE
@@ -1450,12 +1453,32 @@
 
 /*
  *  call-seq:
- *     Class.new(super_class=Object)   ->    a_class
+ *     Class.new(super_class=Object)               -> a_class
+ *     Class.new(super_class=Object) { |mod| ... } -> a_class
  *
  *  Creates a new anonymous (unnamed) class with the given superclass
  *  (or <code>Object</code> if no parameter is given). You can give a
  *  class a name by assigning the class object to a constant.
  *
+ *  If a block is given, it is passed the class object, and the block
+ *  is evaluated in the context of this class using
+ *  <code>class_eval</code>.
+ *
+ *     fred = Class.new do
+ *       def meth1
+ *         "hello"
+ *       end
+ *       def meth2
+ *         "bye"
+ *       end
+ *     end
+ *
+ *     a = fred.new     #=> #<#<Class:0x100381890>:0x100376b98>
+ *     a.meth1          #=> "hello"
+ *     a.meth2          #=> "bye"
+ *
+ *  Assign the class to a constant (name starting uppercase) if you
+ *  want to treat it like a regular class.
  */
 
 static VALUE

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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