Julia语言程序设计
上QQ阅读APP看书,第一时间看更新

5.1 复合表达式

一个完整的处理过程往往需要多个语句或表达式共同实现。这些相关表达式构成的独立语句块称为复合表达式(Compound Expressions),而其内部的表达式称为子表达式。

Julia中有两种方式构造复合表达式,其中一种使用begin与end这对关键字,如下所示:


begin
  # 任意多的子表达式
end

另一种则使用分号将多个子表达式连接,以链式的方式构造,如下所示:


子表达式; 子表达式; ....

在必要时,可用圆括号将子表达式包括起来,以免语法歧义,如下所示:


(子表达式; 子表达式; ....)

复合表达式会将最后一个子表达式的计算结果作为整体的返回值,例如:


julia> z = begin
             x = 1
             y = 2
             x + y    # 即1+2
           end
3

或者:


julia> z = x = 1; y = 2; x + y
3

julia> z = (x = 1; y = 2; x + y)
3

当然在书写中并不限定begin方式一定要多行,例如:


julia> begin x = 1; y = 2; x + y end
3

Julia并未要求将分号作为语句的结尾字符,但如果多个表达式在一行中书写,则需使用分号隔开,所以上例中的分号不可省略。

另外,链式表达中也不限定必须是单行,例如:


julia> (x = 1;
        y = 2;
        x + y)
3

可见复合表达式的表述方法非常灵活。