私がやろうとしていることの例は、おそらく最高です:
def repeater(n = 1)
n.times { yield }
end
デフォルトでは、リピーターは指定されたブロックを 1 回通過します。ただし、n > 1 の場合はブロックを複数回通過させたいと考えています。何らかの理由で上記のコードが機能しません。
例えば:
これは になると思い64
ますが、代わりに を返します5
:
y = 2
repeater(5) { y *= 2 }
なぜこうなった?どこが間違っていますか?私は にかなり慣れてyield
いないので、完全には (はっきりと) 理解していません。