From: Shugo Maeda Date: 1997-10-14T13:17:20+09:00 Subject: [ruby-list:4950] Re: mixin - singleton method inheritance, const etc... 前田です。 >|あ、でも同じ定義かどうかを調べることはできるんでしょうか? > >rubyのレベルでは無理ですね.Cのレベルでは不可能は無いですけ >ど,それはあんまり望ましくないですよね. なるほどCレベルでは一応可能なのですね。 >|同じ定義で二つのメソッドを作れるのってモジュール関数だけですよね。 > >alias? 違うクラスに定義するのはないですね. そうか、aliasがありましたね。 でもFoo#fooというメソッドがあったとしてaliasでFoo.fooを定義するのは たぶん無理ですよね。 ということはCレベルではモジュール関数は判別できるのでモジュール関数 の時は継承しない、ということもできると思うのですがだめでしょうか。 # といいつつ素直にextendを使った方がいいような気もしてきました。 >AttrInitMixinの定数にHash{クラス=>Hash{名前=>初期値}}を格納 >するってのはどうです? なるほど。 前の方法でもそうなのですが、AttrInitMixinをインクルードしたクラスを サブクラスを作ると扱いが面倒ですね。ハッシュを共有しないと、スー パークラスのインスタンス変数の初期化さされませんし、共有するとスー パークラスの初期化でサブクラスのインスタンス変数まで初期化されて しまいますし...。 根本的に考え方を変えなきゃいけないのかな。 前田 修吾