Method: Module#initialize

Defined in:
object.c

#newObject #new {|mod| ... } ⇒ Object

Creates a new anonymous module. If a block is given, it is passed the module object, and the block is evaluated in the context of this module like #module_eval.

fred = Module.new do
  def meth1
    "hello"
  end
  def meth2
    "bye"
  end
end
a = "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.

Overloads:

  • #new {|mod| ... } ⇒ Object

    Yields:

    • (mod)


1988
1989
1990
1991
1992
# File 'object.c', line 1988

static VALUE
rb_mod_initialize(VALUE module)
{
    return rb_mod_initialize_exec(module);
}