1

这是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 中的任何循环都是真的吗?

4

1 回答 1

6

是的,它确实是这样工作的。它适用于所有内置控制结构(while, for, if, begin ... end),但不适用于块。因此,如果您使用eachor重写代码times,它的行为将与您预期的一样。

于 2013-01-06T13:44:31.447 回答