どうも、お世話になっております。サイトウです。

下で期待しているような結果を生みたいのですが、
可能なのでしょうか?

a = [1,2,3,4,5]
def a.itr()
    for i in self
        yield(i)
    end
end

a.itr do |i|
    i += 10
    print i, ","
end
# ここはもちろん、11,12,13,14,15, になりますよね。
for i in a
    print i, ","
end
# 11,12,13,14,15 ここでもこれを期待。
# だけど、1,2,3,4,5,になっている。


つまり、イテレータのブロックでの結果をイテレータ本体に
持ち越すことはできますか?

わたしは、馬鹿なこと言ってますか?
-----------------------------------
サイトウ ヒロシ
HiroshiSaito / pob.org