这是Ruby中的while循环
x = 0
while x < 1 do
inside_var = "I'm inside"
x += 1
end
puts inside_var
虽然inside_var
是在while循环中定义的,但它在它之外是可见的。它与Java,C#等完全不同。
我想知道,我错过了什么吗?它真的是如何运作的吗?对于Ruby中的任何类型的循环都是如此吗?
答案 0 :(得分:6)
是的,它的确如此有效。它适用于所有内置控制结构(while
,for
,if
,begin ... end
),但不适用于块。因此,如果您使用each
或times
重写代码,它的行为就像您期望的那样。