Ruby 循环 - while、for、until、break、redo 和 retry
Ruby循环
例如,您想打印一个字符串十次。您可以键入十个打印语句,但使用循环更容易。您唯一需要做的就是设置一个循环来执行同一代码块指定的次数。这里我们讨论了 Ruby 支持的循环语句。
Ruby while 语句:
while语句很简单,只要条件成立就会重复执行代码。 while 循环的条件通过保留字“do”、换行符、反斜杠 \ 或分号与代码分隔。
句法:
while conditional [do]
code
end
例子:
以下代码打印数字 0 到 10。在进入循环之前检查条件 a < 10,然后执行主体,然后再次检查条件。当条件结果为 false 时,循环终止。
x = 1
y = 11
while x < y do
print x ,". Ruby while loop.\n"
x +=1
end
输出:
1. Ruby while loop.
2. Ruby while loop.
3. Ruby while loop.
4. Ruby while loop.
5. Ruby while loop.
6. Ruby while loop.
7. Ruby while loop.
8. Ruby while loop.
9. Ruby while loop.
10. Ruby while loop.
在 while 语句中,“do”关键字是可选的。下面的循环与上面的循环等效:
x = 1
y = 11
while x < y
print x ,". Ruby while loop.\n"
x +=1
end
Ruby while 修饰符:
与 if 和 except 一样,while 也可以用作修饰符。
x = 0
x += 1 while x < 10
p x # prints 10
您可以使用 begin 和 end 创建一个 while 循环,在条件之前运行一次循环体:
x = 0
begin
x += 1
end while x <10
p x # prints 10
Ruby 直到声明:
当条件为假时,until 循环就会执行。直到循环的条件通过保留字“do”、换行符、反斜杠\或分号与代码分隔。与 while 循环一样,do 是可选的。
句法:
until conditional [do]
code
end
例子:
以下脚本打印数字 1 到 10。与 while 循环一样,进入循环时以及每次执行循环体时都会检查条件 x > 11。如果条件为假,则循环将继续执行。
x = 1
y = 11
until x > y do
print x ,". Ruby while loop.\n"
x +=1
end
输出:
1. Ruby while loop.
2. Ruby while loop.
3. Ruby while loop.
4. Ruby while loop.
5. Ruby while loop.
6. Ruby while loop.
7. Ruby while loop.
8. Ruby while loop.
9. Ruby while loop.
10. Ruby while loop.
Ruby 直到修饰符:
就像 if 和 except 一样,until 也可以用作修饰符。
句法:
code until conditional
OR
begin
code
end until conditional
例子:
x = 0
x += 1 until x > 10
p x # prints 11
这将产生以下结果:
您可以使用begin和end创建一个until循环,该循环在条件之前运行一次主体:
x = 0
begin
x += 1
end until x <10
p x # prints 1
Ruby 声明:
与大多数其他语言一样,Python 也有 for 循环,for 循环由 for 后跟一个变量组成,该变量包含迭代参数,后跟 in 以及要使用每个迭代的值。
与 while 和 Until 一样,do 是可选的。
for 循环与使用each 类似,但不会创建新的变量范围。
for 循环的结果值是迭代的值,除非使用了break。
现代 Ruby 程序中很少使用 for 循环。
句法:
for variable [, variable ...] in expression [do]
code
end
例子:
for x in [1, 2, 3, 4] do
puts x
end
for x in 0..4
puts "Value of x is : #{x}"
end
输出:
1
2
3
4
Value of x is : 0
Value of x is : 1
Value of x is : 2
Value of x is : 3
Value of x is : 4
Ruby 中断语句:
Break 语句用于提前终止块。您还可以使用 Break 从 while、for 循环中终止。
句法 :
break Statement
例子:
以下示例打破 while 循环:
x = 0
while true do
puts x
x += 1
break if x > 5
end
输出:
0
1
2
3
4
5
例子:
以下示例打破了 for 循环:
例子:
以下示例打破 while 循环:
for x in 0..5
if x > 2 then
break
end
puts "Value of x is #{x}"
end
输出:
Value of x is 0
Value of x is 1
Value of x is 2
Ruby 下一个声明:
下一个语句用于跳过当前迭代的其余部分。如果在块内调用,则终止块的执行。
句法:
next Statement
例子:
for x in 0..6
if x < 3 then
next
end
puts "Value of x is : #{x}"
end
输出:
Value of x is : 3
Value of x is : 4
Value of x is : 5
Value of x is : 6
Ruby 重做语句:
redo 语句用于重做当前迭代:
句法:
redo Statement
例子:
restart = false
for x in 1..15
if x == 10
if restart == false
puts "Re-doing when x = " + x.to_s
restart = true
redo
end
end
puts x
end
输出:
1
2
3
4
5
6
7
8
9
Re-doing when x = 10
10
11
12
13
14
15
Ruby触发器
触发器用于处理与 ruby -n 或 ruby -p 一起使用的 ruby 单行程序中的文本。触发器的形式是一个表达式,指示触发器何时开启,..(或…),然后是一个表达式,指示触发器何时关闭。当触发器打开时,它将继续评估为真,关闭时评估为假。触发器必须用在条件语句中,例如 if、while、unless、until 等。
例子:
在以下示例中,开启条件为 n==12。触发器最初在 10 和 11 时关闭(假),但在 12 时变为开启(真),并在 18 之前保持开启状态。在 18 之后,它关闭并在 19 和 20 期间保持关闭状态。
selected = []
10.upto 20 do |value|
selected << value if value==12..value==18
end
p selected
输出:
[12、13、14、15、16、17、18]
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/531.html
转载时必须以链接形式注明原始出处及本声明。
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。