RubyにおけるModuleクラス
モジュールのクラスです。
モジュールを定義するときによく使われる module 式は、Module.newを使って書き換え可能ってこと
code:rb
Foo = Module.new do
def foo
'foo'
end
end
module Bar
def bar
'bar'
end
end
class C
include Foo, Bar
end
c = C.new
p c.foo # => "foo"
p c.bar # => "bar"
独自に定義したクラスのメソッドとして、Moduleクラスのインスタンスメソッドを呼べる。なぜなら
独自のクラスはClassクラスのインスタンスである
ClassクラスはModuleクラスを継承している
ゆえに、独自のクラスはModuleクラスのインスタンスメソッドを自身のクラスメソッドとして呼べる
(日本語がむずかしい)