
class Module

  # Never you a class agian! ;)

  def new(*args,&blk)
    mod = self
    klass = Class.new{include mod}
    klass.new(*args,&blk)
  end

end



=begin test

  require 'test/unit'

  class TestModuleNew < Test::Unit::TestCase

    module M
      attr_reader :a
      def initialize( a )
        @a = a
      end
    end

    def test_01
      m = M.new( 1 )
      assert_equal( 1, m.a )
    end

  end

=end

