Rubyでは、同じクラスが複数箇所で別々に定義できる?
クラス(たとえばStringX)は、classキーワード,クラス名,本体,endキーワードの順で定義します。
メソッド(たとえばtest2)は、defキーワード,メソッド名,本体,endキーワードの順で定義します。
Rubyでは、以下のように同じクラスが複数箇所で別々に定義できるみたいです。
class StringX def test2; print "2222\n" end end class StringX def test1; print "1111\n" end end xxx = StringX.new xxx.test1 xxx.test2
ちなみに、newメソッドは、StringXクラスでは定義されていませんが、Classというクラスで定義されているらしい。
Rubyでのクラスは、メタクラスと呼ばれる名前のないクラスをクラスとして持っていて、Classはそのメタクラスのクラスとのこと(わかる?)。
実は、私も、今のレベルでは、よくわからない・・・。