おがたです。

すみません、具体例を忘れてました。
例えば、項目を検索する場合などで、

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