until 循环
Ruby 也有一个 until
循环,可以被认为是 ‘while not’ 循环。它的语法和选项与应用于 while
的那些相同——即测试条件与循环体代码可以放置于同一行中(此时 do
关键字是必须的),或者也可以放在不同行中(这时 do
是可选的)。
还有一个 until
修饰符,可以让你将循环体代码放置于测试条件之前,以及可选的是可以将循环体代码包含在 begin
和 end
之间来确保循环体代码块至少运行一次。
until.rb
这里有一些 until
循环的简单示例:
i = 10
until i == 10 do puts(i) end # never executes
until i == 10 # never executes
puts(i)
i += 1
end
puts(i) until i == 10 # never executes
begin # executes once
puts(i)
end until i == 10
while
和 until
循环都可以像 for
循环一样用于迭代数组和其他集合。例如,这是迭代数组中所有元素的方法:
while i < arr.length
puts(arr[i])
i += 1
end
until i == arr.length
puts(arr[i])
i +=1
end