In article <20020718.115142.74757422.GEC01122 / nifty.ne.jp>,
  masaki <GEC01122 / nifty.ne.jp> writes:

> Fact=Sequence.new([1]){<n> n*self[n-1]}
> 
> の self が Fact を指してくれないと困ります。

define_method を使って Fact にブロックをメソッドとして植え付けてしまえ
ばいいのでは?

class Sequence
  def initialize(list=[],*parameter)
    @list=list
    @para=parameter
    class << self
      define_method(:call, lambda)
    end
  end

  def [](n)
    @list[n] || @list[n]=call(n)
  end
end

Fact=Sequence.new([1]){|n| n*self[n-1]}
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)