和许多其他开发语言一样,Ruby中也有控制语句,如for,while等。在Ruby中的代码块基本不使用“{}”来标识,而更多的使用“关键字+end”的形式。
While语句
Ruby语句中while循环不再使用“()”来表明执行条件,直接在while即可。其表现形式为while…end,如下实例:
示例:while使用实例
- [lazy@localhost chapter1]$ vim chapter1_3.rb
- # Instance for while structures
- num = 1
- while num < 5
- puts num
- num = num + 1
- end
- [lazy@localhost chapter1]$ ruby chapter1_3.rb
- 1
- 2
- 3
- 4
|
而如果后面加多个判断条件,和while关联较大的为“and”和“or”表示“与”和“或”,如while num < 5 and NUM > 10等,这里就不一一列举。
For语句
Ruby中的for语句和Java中的foreach语句类似,而不是C系列语言中for()的形式。Ruby语言中用如times等语句代替for的功能。其表现形式为for…end,如下实例:
示例:for使用实例
- [lazy@localhost chapter1]$ vim chapter1_4.rb
- # Instance for for structure.
- for i in 1..4 # Range that i gets.
- puts i
- end
- [lazy@localhost chapter1]$ ruby chapter1_4.rb
- 1
- 2
- 3
- 4
|
例子中的1..4表示i的取值为1-4(包括4),详见Pagex介绍。
If语句
If作为开发语言中最为常见的条件控制语句,基本用法是相同的,在ruby语言中,if语句有两种使用形式:前置条件和后置条件。
(1)前置条件
前置条件就是条件在前面,执行语句在后面。其表现形式为if…end,如下:
- if condition
- body_statement
- elsif # if there is
- body_statement
- else # if there is
- body_statement
- end
并不是所有的条件语句都需要elsif和else判断。
示例:if使用实例
- [lazy@localhost chapter1]$ vim chapter1_5.rb
- # Instance for if structure.
- num = 1
- while num < 5
- if num < 5
- puts num.to_s + " is smaller than 5."
- num = num + 1
- elsif
- num >= 5 and num < 10
- puts num.to_s + " is bigger than 5."
- num = num + 1
- else
- puts num.to_s + " others."
- end
- end
- [lazy@localhost chapter1]$ ruby chapter1_5.rb
- 1 is smaller than 5.
- 2 is smaller than 5.
- 3 is smaller than 5.
- 4 is smaller than 5.
|
说明:to_s函数用于将数字转换为字符串形式,除了将数字转换为字符串之后,ruby还提供了很多其他数据类型相关的转换函数:
函数名称 | 作用 |
to_s | 转换为字符串 |
to_i | 转换为整数 |
to_f | 转换为浮点 |
(2)后置条件
后置条件就是执行语句在前面,条件在后面。其表现形式也为if…end,如下:
- body_statement
- if condition