1.条件语句
- if
- unless
- case
unless和if相反,条件不成立则执行
2.条件 除了 false和nil 其他都是true
3.unless 语法
unless 条件
处理
end
4.case语句
case 比较对象
when 值1
when 值2
when 值3
else
end
when后面,ruby是用'==='做比较,'==='比较,
数值和字符串则比较值相等
还可以比较'比较对象'是否属于某一类型
还可以比较正则表达式是否匹配
还可以比较是否属于一个范围
另外when指定的对象在'==='左边
5.if unless修饰符
unless 条件
处理
end
when 值1
when 值2
when 值3
else
end
数值和字符串则比较值相等
还可以比较'比较对象'是否属于某一类型
还可以比较正则表达式是否匹配
还可以比较是否属于一个范围
另外when指定的对象在'==='左边
5.if unless修饰符
- puts "a比b大" if a>b
- puts "a不大于b" unless a>b
6.对象标识
- some.object_id 或者 some.__id__取得对象标示
- equal?方法判断两个对象id是否一致,是否指向同一个对象
- ==判断对象值是否相等
- eql? 严谨判断是否相等 1.0==1 =>true 1.0 eql? 1=> false hash比较用eql?
#比较 条件
#
puts "conents[1]>0"
end
puts "conents[1]==1"
end
case item
when String #匹配类型
puts "item is String"
when /ing/ #匹配正则表达式
puts "item match ing"
when 0..3 #匹配范围
puts "item between 0 ,3 "
when 12,13,23,25 #匹配枚举
puts "one of [12,13,23,25]"
else
puts "nothing match"
end
end
b=20
c=a
d=10
puts "a不大于b" unless a>b
puts a.__id__
puts b.object_id
puts "a和c是一个对象"
end
puts "a的值等于d的值"
end
if a.equal?(d)
puts "a和d不是一个对象"
end