ruby基础逻辑判断

1. ifexpress

1.1 格式:ruby

if conditional [then]
      code...
[elsif conditional [then]
      code...]...
[else
      code...]
end

if 表达式用于条件执行。值 false 和 nil 为假,其余值都为真。请注意,Ruby 使用 elsif,不是使用 else if 和 elif。less

若是 conditional 为真,则执行 code。若是 conditional 不为真,则执行 else 子句中指定的 codecode

一般咱们省略保留字 then 。若想在一行内写出完整的 if 式,则必须以 then 隔开条件式和程式区块。it

1.2 if修饰符io

格式class

code if condition

if修饰词组表示当 if 右边之条件成立时才执行 if 左边的式子。即若是 conditional 为真,则执行 code循环

1.3 unless语句yield

格式:语法

unless conditional [then]
   code
else
   code 
end

unless式和 if式做用相反,即若是 conditional 为假,则执行 code。若是 conditional 为真,则执行 else 子句中指定的 code

1.4 unless修饰符

code unless conditional

若是 conditional 为假,则执行 code

1.5 case语句

case expression
[when expression [, expression ...] [then]
   code ]...
[else
   code ]
end

case先对一个 expression 进行匹配判断,而后根据匹配结果进行分支选择。

它使用 ===运算符比较 when 指定的 expression,若一致的话就执行 when 部分的内容。

一般咱们省略保留字 then 。若想在一行内写出完整的 when 式,则必须以 then 隔开条件式和程式区块。

2.循环

2.1 while do

while conditional [do] #或者[:]
     code
end

当 conditional 为真时,执行 code

语法中 do 或 : 能够省略不写。但若要在一行内写出 while 式,则必须以 do 或 : 隔开条件式或程式区块。

2.2 while修饰符 至关于 do while

code while condition
 
或者
 
begin 
  code 
end while conditional

当 conditional 为真时,执行 code

若是 while 修饰符跟在一个没有 rescue 或 ensure 子句的 begin 语句后面,code 会在 conditional 判断以前执行一次。

2.3 until 语句

until conditional [do]
   code
end

当 conditional 为假时,执行 code

语法中 do 能够省略不写。但若要在一行内写出 until 式,则必须以 do 隔开条件式或程式区块。

2.4 until修饰循环

code until conditional
 
或者
 
begin
   code
end until conditional

当 conditional 为 false 时,执行 code

若是 until 修饰符跟在一个没有 rescue 或 ensure 子句的 begin 语句后面,code 会在 conditional 判断以前执行一次。

3. for 语句

for variable [, variable ...] in expression [do]
   code
end

for...in 循环几乎是彻底等价于:

(expression).each do |variable[, variable...]| code end

4.break 终止最内部的循环。若是在块内调用,则终止相关块的方法(方法返回 nil)。

5. next 相似于c的continue

6.redo  从新开始最内部循环的该次迭代,不检查循环条件。若是在块内调用,则从新开始 yield 或 call

7. retry(1.9以后不支持)

若是 retry 出如今 begin 表达式的 rescue 子句中,则从 begin 主体的开头从新开始。

若是 retry 出如今迭代内、块内或者 for 表达式的主体内,则从新开始迭代调用。迭代的参数会从新评估。

相关文章
相关标签/搜索