[Ruby][3] 条件语句

1、if

if a==1 then puts "ok" end  #单行的写法

if a==1; puts "ok" end #也可以这样

if a==1 then puts "ok";puts "ok"; end #单行多语句
if a==1;puts "ok";puts "ok"; end #这样写就太恶心了

从上面可以看出,ruby相当自由,但是从可读性、不易出错……等等考虑,单行多语句if建议采用第三种写法,即:

if 条件 then 语句1;语句2; end

单行单语句常常写成:

puts "ok" if a==1

多行更清晰:

if a==1
    puts "ok"
end

2、if else

if a==1
    puts "ok"
else
    puts "no"
end
if a==1
    puts "ok"
elsif a==2  #elsif
    puts "no"
else
    puts "err"
end

3、unless

在ruby中应用相当广泛,有滥用的趋势。

先看一个if:

if a!=1
    puts "ok"
end

可以写成:

unless a==1
    puts "ok"
end

以下写法应用最广:

puts "ok" unless a==1  #非常接近于自然语言,被外国人广泛应用

4、case when

就是C、Java或者C#中的switch  case。

case a
when 1
    puts "ok"
when 2
    puts "no"
else
    puts "err"
end

当然,when的内容很广泛,数值、字符串、区间、正则表达式……统统可以,不像C语言只能是int。

posted @ 2011-06-21 16:16  承古韵  阅读(775)  评论(0编辑  收藏  举报