Tanaka Akira さんは書きました: > foo には引数がないので、retry の奇妙な点であるところの実引数 > の評価から再開される、という部分が使われていませんが、実引数 > が再評価されることは不要ですか? 人工的な例ですが、 「取得するたびに値の変わっていくローカル変数(big)を引数にとり、一秒間隔 でその変数を使って なんかするメソッド(foo)をつくりたいとする。ただしメソッド定義内部(と実 引数部)に直接変数名bigを書き込むような ことはしたくない。」 retryを使うとこんな感じになります。↓ big = 0 Thread.new{loop{sleep 0.7;big += 1}} #big の時間変化 def foo(n) sleep(1) yield n retry end foo(big){|n|p n} #=>1,2,4,5,...