![Scala编程(第5版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/446/43738446/b_43738446.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.2 分号推断
在Scala程序中,每条语句最后的分号通常是可选的。你想要的话可以输入一个,但如果当前行只有这条语句,则分号并不是必需的。另一方面,如果想在同一行中包含多条语句,分号就有必要了:
![](https://epubservercos.yuewen.com/9944D7/23020655409775506/epubprivate/OEBPS/Images/42832-00-092-2.jpg?sign=1739014416-Z4iX6uW6vW6QykjZxz3TdGr4zA5dsNtR-0-47fdc43a8b287c6ecbed7135764c3068)
如果想要一条跨多行的语句,则大多数情况下直接换行即可,Scala会帮你在正确的地方断句。例如,如下代码会被当作一条4行的语句处理:
![](https://epubservercos.yuewen.com/9944D7/23020655409775506/epubprivate/OEBPS/Images/42832-00-092-3.jpg?sign=1739014416-mdqjQwGvKUNqG2HOgCGxI11Kk27rAhtY-0-abb3beb4e891d262d27867b71ca7e929)
分号推断的规则
相比分号推断的效果,(自动)分隔语句的精确规则简单得出人意料。概括地说,除非以下任何一条为true,代码行的末尾才会被当作分号处理:
1. 当前行以一个不能作为语句结尾的词结尾,如英文句点或中缀操作符。
2. 下一行以一个不能作为语句开头的词开头。
3. 当前行的行尾出现在圆括号(...)或方括号[...]内,因为无论如何圆括号和方括号都不能(直接)包含多条语句。