diff --git a/object.c b/object.c index 34b9529bda..5ad5680d88 100644 --- a/object.c +++ b/object.c @@ -1423,7 +1423,7 @@ rb_class_s_alloc(VALUE klass) * the module object, and the block is evaluated in the context of this * module using module_eval. * - * Fred = Module.new do + * fred = Module.new do * def meth1 * "hello" * end @@ -1432,9 +1432,12 @@ rb_class_s_alloc(VALUE klass) * 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 @@ rb_mod_initialize(VALUE module) /* * 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 Object 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 + * class_eval. + * + * fred = Class.new do + * def meth1 + * "hello" + * end + * def meth2 + * "bye" + * end + * end + * + * a = fred.new #=> #<#: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