上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
可见复合表达式的表述方法非常灵活。