Ruby快速入门,三:控制语句

原文地址:http://blog.csdn.net/zhu_xz/article/details/4916215

这个系列的第一篇文章 说了Ruby的安装和运行,也简单的说了下类和对象,第二篇文章 说了变量、数组、数字和运算符。这里则说Ruby中的控制逻辑。

先看条件语句

if语句的格式为:

view plain

  1. if 条件
  2. 代码
  3. elseif 条件
  4. 代码
  5. else
  6. 代码
  7. end

Ruby也支持C/C++中的三元运算符:

  1. 判断式?代码1:代码2

如果判断式成立则执行代码1,否则执行代码2。

但Ruby的case语句和C/C++的格式差异很大:

  1. case 被判断项
  2. when 比较值 then 代码
  3. when 比较值 then 代码
  4. else 代码
  5. end

例如,下面两段代码是等价的,但使用case的代码更加清晰:

  1. if var < 60
  2. print "failed/n"
  3. elsif var < 70
  4. print "passed/n"
  5. elsif var < 80
  6. print "good/n"
  7. elsif var < 90
  8. print "great/n"
  9. else
  10. print "excellent/n"
  11. end
  12. case var
  13. when 0..59 then print "failed/n"
  14. when 60..69 then print "passed/n"
  15. when 70..79 then print "good/n"
  16. when 80..89 then print "great/n"
  17. else print "excellent/n"
  18. end

Ruby提供了比C/C++更为丰富的循环语句

  1. while 表达式 # 表达式为true时执行
  2. 代码
  3. end
  4. until 表达式 # 表达式为false时执行
  5. 代码
  6. end
  7. for 临时变量 in 集合
  8. 代码
  9. end

也可以使用整数的times、upto和downto方法进行循环。下面几个循环是等价的,都会输出数字0到4:

  1. i = 0
  2. while i < 5
  3. puts i
  4. i += 1
  5. end
  6. i = 0
  7. until i >= 5
  8. puts i
  9. i += 1
  10. end
  11. for i in 0..4
  12. puts i
  13. end
  14. 5.times { |i| puts i }
  15. 0.upto(4) { |i| puts i }
  16. 4.downto(0) { |i| puts 4 - i }