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/