Programming with Ruby 2.0 を読んでいるのですが、質問があります
def my_while(cond, &body)
while cond.call
body.call
end
end
a=0
my_while -> { a < 3 } do
print a
a += 1
end #=> 0 1 2
問題は、なぜこの方法を使用できないのかということです
def my_while(cond, &block)
while cond
block.call
end
end
a = 0
my_while (a<3) do
print a
a += 1
end #=> infinite loop
そして、実際にこの関数を条件 (a<3) とブロック パラメーターで使用する方法は?
PS私はこの質問を見ましたが、まだそこにコメントして質問することはできません!