Julia 最简单的代码块

                     

贡献者: 待更新

   本文授权转载自郝林的 《Julia 编程基础》。原文链接:第 11 章 流程控制

11.1 最简单的代码块

   还记得吗?我在第一章的最开始就已经在使用英文分号 ; 来分隔多个并列的表达式了。例如:

julia> a = 5 * 8; b = a^2
1600

julia>

   这时,Julia 会(从左到右)逐个地对这些表达式进行求值,并把最后一个表达式的结果值作为最终的求值结果。

   这与我们让每一个表达式都独占一行好像并没有什么区别。但是,像上面这样的并列的表达式却可以被称为代码块。你可能会说,“它不应该是一个代码块,因为它没有明显的边界”。实际上,这样的并列表达式是有边界的,只不过它的边界可以被省略不写罢了。它的边界是一对圆括号。

   并列表达式可以被作为一个整体出现在赋值符号 = 的右边,例如:

julia> c1 = (a = 5 * 8; b = a^2)
1600

julia> c1
1600

julia>

   这就相当于我们把这个并列表达式的最终结果值赋给了变量 c1。注意,这里的圆括号就不能被省略了,否则会引起歧义。

   另外,我们还可以使用关键字 beginend 对并列表达式进行包装,以形成边界更加清晰的代码块。示例如下:

julia> begin a = 5 * 8; b = a^2 end
1600

julia> c2 = begin a = 5 * 8; b = a^2 end
1600

julia> c2
1600

julia>

   这样的代码块也被称为 begin 代码块。在这里,begin 代码块的优势在于,当并列表达式中的子表达式过多时,它可以被分成多行来编写,而其边界会依然清晰。如:

julia> c2 = begin
           a = 5 * 8
           b = a^2
       end
1600

julia>

   虽然我们也可以让由圆括号包裹的并列表达式占据多行,但是这样的代码看起来就要简陋很多了:

julia> c2 = (a = 5 * 8;
           b = a^2)
1600

julia>

   最后,无论是纯粹的并列表达式,还是 begin 代码块,我们都可以称之为复合表达式(compound expression)。它们的主体都只是多个子表达式的排列而已,并没有额外的处理逻辑在里面。这正是我说它们是最简单的主要原因。


致读者: 小时百科一直以来坚持所有内容免费,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利