どうも、お世話になっております。サイトウです。
下で期待しているような結果を生みたいのですが、
可能なのでしょうか?
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