until 循环

Ruby 也有一个 until 循环,可以被认为是 ‘while not’ 循环。它的语法和选项与应用于 while 的那些相同——即测试条件与循环体代码可以放置于同一行中(此时 do 关键字是必须的),或者也可以放在不同行中(这时 do 是可选的)。

还有一个 until 修饰符,可以让你将循环体代码放置于测试条件之前,以及可选的是可以将循环体代码包含在 beginend 之间来确保循环体代码块至少运行一次。

until.rb

这里有一些 until 循环的简单示例:

  1. i = 10
  2. until i == 10 do puts(i) end # never executes
  3. until i == 10 # never executes
  4. puts(i)
  5. i += 1
  6. end
  7. puts(i) until i == 10 # never executes
  8. begin # executes once
  9. puts(i)
  10. end until i == 10

whileuntil 循环都可以像 for 循环一样用于迭代数组和其他集合。例如,这是迭代数组中所有元素的方法:

  1. while i < arr.length
  2. puts(arr[i])
  3. i += 1
  4. end
  5. until i == arr.length
  6. puts(arr[i])
  7. i +=1
  8. end