第四章:表达式和语句:
4.2 顺序结构:
1. ***
4.3 分支结构:
1. if表达式:
表达式...
[elsif 表达式 [then]
表达式...]
...
[else 表达式...]
end
*elsif块:可以出现:一次、多次、不出现;(不是elseif、else if)
*else块:可以出现:一次、不出现;
*then关键字:应该总是在if条件后增加then关键字,保证源代码有更严格的语法检查;
*注意:当使用if...elsif...elsif...else表达式时,一定要把范围最小的条件写在最前面。
*if表达式的返回值,取决于条件成立的部分的最后一行代码;
2. if修饰语句;
*格式:表达式 if 表达式;只有当if后边的条件成立时,才计算左边的表达式,并返回其结果,不成立时返回nil;
*if修饰语句不能使用:elsif、else、end块;
3. unless表达式;
*unless表达式与if表达式相反,当条件表达式返回结果为假时,才计算then后面的表达式;
*不能安插elsif语句,
*本书作者并不特别喜欢使用unless表达式,宁愿使用if表达式;
4. unless修饰语句;
*格式:表达式 unless 表达式;
5. case表达式;
*
4.4 循环结构:
1. while表达式;
2. while修饰句;
3. until表达式;
4. until修饰语句;
5. for...in表达式;
6. loop表达式;
7. 使用迭代器(*);
4.5 控制循环结构:
1. 使用break结束循环;
2. 使用next结束本次循环;
3. 使用redo重新开始循环;
4. 使用retry重启迭代器;
5. 使用return结束方法;
4.6 深入迭代器和块:
1. 块的概述:多行Ruby代码组成的一块代码;
*定义:使用{...}或do..end包起来的代码;
2. 使用块:可以使用一个方法来调用代码块;可以把块当成一个参数传给方法,这样可以很方便的实现方法回调;
*使用yield关键字在方法中调用代码块;
3. 实现迭代器(P145):
浙公网安备 33010602011771号