From: Shugo Maeda Date: 1997-10-14T14:21:07+09:00 Subject: [ruby-list:4955] Re: mixin - singleton method inheritance, const etc... 前田です。 > 前の方法でもそうなのですが、AttrInitMixinをインクルードしたクラスを > サブクラスを作ると扱いが面倒ですね。ハッシュを共有しないと、スー > パークラスのインスタンス変数の初期化さされませんし、共有するとスー > パークラスの初期化でサブクラスのインスタンス変数まで初期化されて > しまいますし...。 ハッシュのハッシュを使う方法で、 def initialize(*args) super (type.ancestors << type).each do |klass| ATTR_DEFAULTS[klass].each do |name, default| eval "@#{name} = default" end end end みたいにすればよさそうですね。 # ancestorsってselfを含めることになったんでしたっけ? --- 前田 修吾