文档章节

类和对象之分号推断

柳哥
 柳哥
发布于 2014/06/05 21:01
字数 358
阅读 57
收藏 0

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. 行结束于括号(......)或方框[......]内部,因为这些符号不可能容纳多个语句。

© 著作权归作者所有

共有 人打赏支持
柳哥
粉丝 203
博文 405
码字总数 347782
作品 0
杭州
技术主管
Scala基础语法

Scala 是一种有趣的语言。它一方面吸收继承了多种语言中的优秀特性,一方面又没有抛弃 Java 这个强大的平台,它运行在 Java 虚拟机 (Java Virtual Machine) 之上,轻松实现和丰富的 Java 类库...

岁月留痕
2015/12/08
35
0
Scala学习笔记-基础语法

Scala学习笔记-基础语法 OneCoder2016-09-2046 阅读 Scala 上手学习Scala语言。先熟悉一下语法。对于Scala笔者也是完全的新手,对scala的设计思想和实现原理没有太多了解。错误在所难免,还望...

OneCoder
2016/09/20
0
0
Scala基础入门-1

首先需要Scala开发环境的搭建,网上自己找教程。 声明常量与变量 val foo = 0 // 常量var bar = 0 // 变量    在Scala中,更加鼓励使用val来进行声明,也就是推荐使用常量。在大部分时候不...

wei-spring
2015/11/08
0
0
Java泛型--泛型方法

Java泛型--目录 概述 泛型不但可用作用于整个类上,同时还可以作用于参数化方法.是否拥有泛型方法,与其所在类是否是泛型没有关系. 泛型方法使得该方法能够独立于类而产生变化,有一个基本原则:...

我叫张凯
2016/01/12
689
0
Scala笔记整理(一):scala基本知识

[TOC] Scala简介 Scala是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala运行在Java虚拟机上,并兼容现有的Java程序。 Scala源代码被...

xpleaf
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

shell特殊符号、cut、sort、uniq、wc、tee、tr、split命令

10月15日任务 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 cut 命令 cut作用:截取字符串 用法如下:cat /etc/passwd |head -2 |cut -d ...

hhpuppy
25分钟前
0
0
Springboot实现filter拦截token验证和跨域

背景 web验证授权合法的一般分为下面几种 1使用session作为验证合法用户访问的验证方式 使用自己实现的token 使用OCA标准 在使用API接口授权验证时,token是自定义的方式实现起来不需要引入其...

funnymin
今天
2
0
linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
14
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部