Ruby 基础教程1-5

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