1.if条件
#多行可以省略then
if 条件 [then]
处理
end
#单行不可以省略then
if 条件 then 处理 end
#倒装语法
处理 if 条件
2.if-else条件
if 条件1
处理1
else
处理2
end
3.if-elsif-else条件
if 条件1
处理1
elsif 条件2
处理2
else
处理3
end
4.unless条件
unless
条件语句的语法刚好与if
条件语句相反。
#多行可以省略then
unless 条件 [then]
处理
end
#单行不可以省略then
unless 条件 then 处理 end
#倒装语法
处理 unless 条件
5.unless-else条件
unless
条件语句只支持else
从句,不支持elsif
从句。
unless 条件1 [then]
处理1
else
处理2
end
6.case条件
#多行可以省略then
case 比较对象
when 模式 [then]
处理
end
#单行不可以省略then
case 比较对象
when 模式 then 处理
end
#case-when-else
case 比较对象
when 模式1
处理1
when 模式2
处理2
else
处理3
end
7.case-in模式匹配
case <expression>
in <pattern1>
...
in <pattern2>
...
in <pattern3>
...
else
...
end
case {a: 1, b: 2, c: 3}
in a: Integer => m
"matched: #{m}"
else
"not matched"
end
# => "matched: 1"
8.while循环
目前,while
循环语句已很少被使用,因为有更好的多种迭代器替代了它。
只要条件为真,就会不断地重复循环处理。
#多行语法
while 条件 [do]
处理
end
#倒装语法
希望循环的处理 while 条件
9.until循环
目前,until
循环语句已很少被使用,因为有更好的多种迭代器替代了它。
until
循环语句的用法刚好与while
循环语句相反,只要条件为假,就会不断地重复循环处理。
#多行语法
until 条件 [do]
处理
end
#倒装风格
处理 until 条件
10.for-in循环
目前,for-in
循环语句已很少被使用,因为有更好的多种迭代器替代了它。
for-in
循环语句可对一个可迭代的对象(比如数组)的元素进行迭代。
for 变量 in 可枚举的对象 [do]
处理
end
#示例1
for value in [1, 2, 3] do
puts value
end
#=> 1, 2, 3
#示例二
sum = 0
for i in 1..5
sum = sum + i
puts sum
end
#=> 1, 3, 6, 10, 15
11.break跳转
使一个循环(或迭代器)退出。
12.next跳转
使一个循环(或迭代)跳过当前迭代的剩余部分,进入下一个迭代。
13.redo跳转
从头开始一个循环或迭代器的当前迭代。
14.return跳转
使一个方法退出并且向其调用者返回一个值。如非必须,可省略。
15.retry跳转
重新开始一个迭代器,重新对整个语句求值。还可用于异常处理。
16.throw-catch跳转
一种多用途的控制语句,其命名和行为都类似于一种异常传播和处理机制,但不是用于异常处理。它们被用作一种多级或多标签的break
。异常处理请使用raise
和rescue
。
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/1567.html