2006-11-06 すべてがオブジェクト ruby メタクラス モジュール/クラス インスタンス Module, Class module ,class で作り(定義)、定数へ代入(クラス名は定数) Class#new で作り(インスタンス化)、変数へ代入 モジュール クラス インスタンス化 × ○ Mix-in ○ × モジュール (Moduleのインスタンス) クラス (Classのインスタンス) Mix-in (インスタンスメソッド、クラス変数、定数を組み込むこと、include/extend) モジュールの2種類の使用法 名前空間 (モジュールにネストしたクラスを定義する。名前空間モジュールをMix-inした場合、クラス名は定数なので名前空間内のクラスはちゃんとMix-inされ、名前修飾なしで利用可能になる。) Mix-in (include/extend)