最近一直忙着面试... 现在终于有时间来继续学习ruby了. :)

ruby中的条件语句
a = 8
if a > 0
  puts "a > 0"
elsif a < 0
  puts "a < 0"
else
  puts "a == 0"
end

a = 0
str = if a > 0 then "a > 0"
elsif a < 0 then "a < 0"
else "a == 0"
end
puts str


a = 0
puts "a == 0  g" if a == 0
puts "a == 0  h" unless a != 0


a = 1
case a
  when -1
    puts "a == -1"
  when 0
    puts "a == 0"
  when 1
    puts "a == 1"
  else
    puts "unknown"
end

a = "a"
case a
  when "a"
    puts "a == -1"
  when "b"
    puts "a == 0"
  when "c"
    puts "a == 1"
  else
    puts "unknown"
end


a = 3
str = case a
  when -10..-1 then "-10 < a < 0"
  when 0 then "a == 0"
  when 1..10 then "1 < a < 10"
  else "unknown"
end
puts str



引用

a > 0
a == 0
a == 0 g
a == 0 h
a == 1
a == -1
1 < a < 10


和JAVA对比,ruby:
1. 对一个字符的赋值后来也可以跟, 条件语句, JAVA中可能要匿名内部类来做
2. unless 相当于if not 效果
3. switch语句, JAVA中的switch只能对数字或者enum来用, 不支持字符串, 而ruby可以
评论
发表评论

您还没有登录,请登录后发表评论

CherryRemind
搜索本博客
我的相册
1c55394d-5f90-3900-a92d-bd2019c9fa82-thumb
Collection_Performance_Compare.JPG
共 1 张
最近加入圈子
存档
最新评论