什么是条件判断
- 条件判断语句主要有以下三种
- if 语句
- unless语句
- case语句
Ruby中的条件
* 条件与真假值
* 比较运算符
* 字符串类`empty`方法,长度为0返回`true`,否则返回`false`
* 正则表达式进行匹配,匹配成功返回该字符串的位置,匹配失败返回`nil`
* Ruby中还有个约定俗成的规则,返回真假值的方法都要以`?`结尾
Ruby真假值
真假值 | |
---|---|
真 | false、nil以外的所有对象 |
假 | false、nil |
逻辑运算符
- 在判断多个条件表达式时,我们会用到逻辑运算符
&&
和||
- 否定的逻辑运算符
!
- 在Ruby中,还有
&&
、||
、!
与意思相同,但优先级略低的逻辑运算符and
、or
、not
if语句
- if 语句是最基本的条件判断语句,用
法如下。
if 条件 then
处理
end
※ 可以省略 then
- 在这基础上可再加上 elsif 、 else
if 条件 1 then
处理 1
elsif 条件 2 then
处理 2
elsif 条件 3 then
处理 3
else
处理 4
end
unless语句
- unless语句的用法刚好与if相反
unless 条件 then
处理
end
- unless也可以使用else
unless 条件
处理 1
else
处理 2
end
case语句
- 使用case语句会使程序更简单,如下所示
case 比较对象
when 值 1 then
处理 1
when 值 2 then
处理 2
when 值 3 then
处理 3
else
处理 4
end
if 修饰符与unless修饰符
- if 与 unless 可以像下面这样写在希望执行的代码的后面。
puts "a 比 b 大 " if a > b
- 虽然这与下面的写法是等价的,但使用修饰符的写法会使程序更加紧凑,程序逻辑更加突出。另外,在使用修饰符的写法时,要注意程序的易读性。
if a > b
puts "a 比 b 大 "
end
对象的同一性
- 所有对象都有标识和值。标识用来表示对象的同一性。Ruby中所有的对象都是唯一的,对象的ID可以通过
object_id
(或者_ _id_ _
)方法获得