博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类和对象之分号推断
阅读量:7144 次
发布时间:2019-06-29

本文共 557 字,大约阅读时间需要 1 分钟。

  hot3.png

Scala程序里,语句末尾的分号通常是可选的。愿意可以加,若一行里仅有一个语句也可以不加。不过,如果一行包含多条语句时,分号则是必须的

val s = “hello”; println(s);

输入跨越多行的语句时,多数情况无须特别处理,scala将在正确的位置分隔语句。例如:

if(x < 2)  Println(“too small”)else  println(“ok”)

然而,偶尔scala也许并不如你所愿,把句子分拆成两部分:

x+ y

这会被当做两个语句x和+y。如果希望把它作为一个语句 x + y,可以把它放在括号里:

(x+y)

或者也可以把 + 放在行末,也正源于此,串接类似于+这样的中缀操作符的时候,scala通常的风格是把操作符放在行尾而不是行头:

z + y +z

分号推断的规则

分割语句的具体规则既出人意料地简单又非常有效。那就是,除非以下情况的一种成立,否则行尾被认为是一个分号
1. 疑问行由一个不能合法作为语句结尾的字结束,如句点或中缀操作符。
2. 下一行开始于不能作为语句开始的词。
3. 行结束于括号(......)或方框[......]内部,因为这些符号不可能容纳多个语句。

转载于:https://my.oschina.net/fhd/blog/273974

你可能感兴趣的文章
Silverlight如何调用淘宝API
查看>>
ESP8266- AP模式的使用
查看>>
JBoss开发者框架: JBoss技术文档中心
查看>>
linux与win下安装java linux下的安装方法
查看>>
在IIS8添加WCF服务支持
查看>>
(转)代码执行的效率
查看>>
第一天用MongoDB
查看>>
Linux服务器部署系列之二—MySQL篇
查看>>
STM32笔记记录3
查看>>
typedef关键字
查看>>
EntityType 'UserInfo' has no key defined. Define the key for this EntityType.
查看>>
Merge PDF File using itextsharp library
查看>>
使用微软的TFS云服务
查看>>
高效能TCP通讯基础组件Beetle.Express
查看>>
MyEclipse内存不足配置
查看>>
四舍五入网络Java保留两位小数
查看>>
MFC 循环界面假死的解决(MFC 按钮终止循环)
查看>>
详细解说九宫图比较常用的多控件布局
查看>>
程序员的出路在哪里?挣钱的机会来了续-福利来了,仿QQ界面,放出全部源码,打造创业框架及实现思路...
查看>>
浅析Android线程模型一 --- 转
查看>>