
93
第
5
章
基本代码块
Block
就是把多个语句组合为一个东西。按我在前言中所说的,实际上你已经使用过
一些代码块。现在来更详细地分析这些代码块。这一章会介绍基础知识,然后逐步
过渡到简单的子例程。这一章中要了解的内容只是为了帮助你学习接下来的几章,
第
11
章还会做更多介绍。
5.1
代码块
代码块(
Block
)是一组用大括号括起来的语句。你已经使用
loop
重复执行过一组
语句。你还用过
if-else
结构,每个分支分别使用一个
Block
,而且只会执行其中的
一个
Block
:
loop { ... }
if $n %% 2 { put "Even!" }
else { put "Odd!" }
裸块(
bare block
)是指外面没有控制关键字的代码块。它在
sink
上下文中(
sink
表
示只有输入没有输出的一个“槽”),因为对它的结果不做任何处理。它会提供一
个作用域,而且会立即运行一次。其结果是
Block
中最后计算的表达式(不一定是
最后一个词法表达式)。下面是一个什么也不做的简单裸块:
{ ; }