![]() |
1
48
忽略嵌套函数,总是可以用不带返回的等价计算替换带返回的Scala计算。这个结果可以追溯到“结构化编程”的早期,被称为 structured program theorem ,非常聪明。 使用嵌套函数时,情况会发生变化。Scala允许您将“return”深埋在一系列嵌套函数中。执行返回时,控件从所有嵌套函数跳出,跳入最内部的包含方法,并从中返回(假设该方法实际上仍在执行,否则会引发异常)。这种堆栈展开可以在例外情况下完成,但不能通过计算的机械重组来完成(没有嵌套函数也是可能的)。 实际上,您希望从嵌套函数内部返回的最常见原因是为了打破理解或资源控制块的命令。(理解命令的主体被翻译成嵌套函数,尽管它看起来就像一个语句。)
|
![]() |
2
27
提供该方法是为了适应那些难以或麻烦地安排所有控制流路径在方法的词法端收敛的情况。
当然,正如戴夫·格里菲斯所说,你可以消除
也要意识到
|
![]() |
3
6
下面是一个例子
不退还:
有回报:
在我看来,第二本书比第一本书更具可读性,甚至更易于管理。如果不使用return语句,缩进的深度(使用格式良好的代码)会越来越深。我不喜欢:) |
![]() |
4
2
|
![]() |
davidzxc574 · 将字符串缩放为字符 2 年前 |
![]() |
yic_l · 什么是“!”在这个函数中是什么意思? 2 年前 |
![]() |
Jelly · Scala:用于理解递归未来 2 年前 |
![]() |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 2 年前 |
![]() |
Iheb Mar · 卡夫卡制作人/消费者粉碎每一秒的API调用 2 年前 |
![]() |
B. Bal · 在Scala中重用类成员 2 年前 |