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修饰符
  • 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?
 
#encoding:GBK
#比较 条件
#
 
 
conents=['luo',1,"ming",23]
 
if conents[1] > 0
     puts "conents[1]>0"
end
 
unless conents[1] != 1
     puts "conents[1]==1"
end
 
for item in conents
     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
 
a=10
b=20
c=a
d=10
 
puts "a比b大" if a>b
puts "a不大于b" unless a>b
 
puts a.object_id
puts a.__id__
puts b.object_id
 
 
if a.equal?(c)
     puts "a和c是一个对象"
end
 
if a==d
     puts "a的值等于d的值"
end
if a.equal?(d)
     puts "a和d不是一个对象"
end