こんにちは。

以下のスクリプトを実行すると,

"loop-1"
"loop-2"

となります。

----ここから----
def y()
  yield
end

def test1()
  y {
    s = ""
    for i in 1..2 do
      s += "loop-#{i}"
      p s
    end
  }
end

test1()
----ここまで----

次のようにならないといけないように思うのですが,どうでしょうか。

"loop-1"
"loop-1loop-2"

Rubyインタプリタは,
    ruby 1.6.7 (2002-08-12) [i586-linux]
です。

-- 
HORIKAWA Hisashi (in Kanji: 堀川 久)
mailto:vzw00011 / nifty.ne.jp
http://www2.airnet.ne.jp/pak04955/