おがたです。
すみません、具体例を忘れてました。
例えば、項目を検索する場合などで、
class Composite
def initialize(_base_Component=Component)
@component = _base_Component.new(Array.new)
@component.self = self
end
def find(_target)
_ret = @component.find(_target)
@comonent.value.each{|_item| _ret += _item.find(_target)}
return _ret
end
end
class Component
def initialize(_value)
@value = _value
@self = self
end
attr_accessor:self
def find(_target)
_ret = Array.new
_ret << self if _target == self
return _ret
end
end
とできると、@self を意識しないで書けるかな?
と淡い期待をしていた訳です...
-------------------------------------------------
Kenya Ogata
E-mail k_ogata / mbd.nifty.com
HomePage http://homepage1.nifty.com/~k_ogata/ruby/diary.html