Ruby语言作为一种新型的编程语言,具有很多独有的特性。它也拥有其他语言所具备的一些特性,比如拥有所帮助的常用控制语句。#t#
Ruby控制结构都是常用的,像if语句和while循环。Java,C,和Perl程序会因为语句体中缺少花括号而出错。替代的,Ruby使用关键字end来表示语句体的结束。#t#
- if count > 10
- puts "Try again"
- elsif tries == 3
- puts "You lose"
- else
- puts "Enter a number"
- end
类似的,Ruby控制结构while语句也是使用end结束。
- while weight < 100
and num_pallets <= 30- pallet = next_pallet()
- weight += pallet.weight
- num_pallets += 1
- end
Ruby中大部分的声明都有一个返回值,你可以使用它作为条件语句。例如,gets方法从标准输入流中返回下一行或者当到达文件末尾时返回nil。因为在条件语句中Ruby把nil看成是false,你可以使用下面的代码来处理文件的所有行。
- while line = gets
- puts line.downcase
- end
这里,这个声明设置变量line的值为下一行或nil,然后while检测这个变量,当它为nil时结束循环。
当if或while声明只有一行代码时,Ruby的代码修饰符是一个有用的简化。只需要在Ruby控制结构表达式后面写上简单的条件语句。例如,下面是一个简单的if代码愉。
- if radiation > 3000
- puts "Danger, Will Robinson"
- end
再一次这个代码,使用代码修饰符重写它。
puts "Danger, Will Robinson" if radiation > 3000
Ruby控制结构while循环类似的代码如下:
- square = 2
- while square < 1000
- squaresquare = square*square
- end
变得更简洁
- square = 2
- squaresquare = square*square
while square < 1000
这个Ruby控制结构代码修饰符和Perl程序看起来比较熟悉。