一 判断结构
if 表达式
elsif 表达式
else
end
elsif 表达式
else
end
if 表达式 then end #当写在一行时 需要用then
if 表达式 #当表达式的结果为true时执行前面的代码
.. unless 表达式 #当表达式为false执行前面的代码
case 表达式
when 条件1 [,条件2] [then]
when 条件3 [,条件4] [then]
else
end
when 条件1 [,条件2] [then]
when 条件3 [,条件4] [then]
else
end
二 循环结构
while 表达式
[break [表达式]]
end
当表达式的值为true时执行代码块,可以使用break退出,也可以给break指定一个值,作为while循环的返回值[break [表达式]]
end
while 表达式
当后面表达式的值为true就一直循环执行前面的语句,如果前面的语句是一个begin..end块的话,就先执行一遍begin..end块,然后判断是否进入下一次循环,比如:i = 0
begin
i += 1
puts i
end while i < 10
begin
i += 1
puts i
end while i < 10
until 表达式
end
直到表达式的值变为true,才退出循环end
until 表达式
执行语句,直到表达式的值变为truefor 变量 in 数组
end
从数组中每次取出一个元素来,进行遍历,ruby中只有for..in 没有单独的for,当然for..in的使用频率也不广,ruby中最常用的还是每个数组都带有的each迭代器。end
break: 退出最内层的循环,循环包括while,until,for,迭代。 break不应该在case里出现。
next: 忽略下面的代码,进入下一次循环
redo: 不检查循环条件 重新开始当前循环
retry: 重启迭代器