Scala学习笔记(6)-基本类型和操作

基本类型和操作与Java一样,下面这些特别的也是不常用的,完全可以照Java的风格来。

1.三引号("""),内部的原始字串可以包含无论何种任意字符,包括新行,引号和特殊字符

   管道符号(|)放在每行前面,然后在整个字串上调用stripMargin:

println("""|Welcome to Ultamix 3000. 

             |Type "HELP" for help.""".stripMargin)

2.符号文本被写成'<标识符>,这里<标识符>可以是任何字母或数字的标识符。

3.操作符标注(包含前缀操作符、中缀操作符和后缀操作符)

Scala里的操作符不是特殊的语言语法:任何方法都可以是操作符。使用方法的方式使它成为操作符。如果写成s.indexOf('o'),indexOf就不是操作符。不过如果写成,s indexOf 'o',那么indexOf就是中缀操作符了,因为你以操作符标注方式使用它。

前缀标注中,方法名被放在调用的对象之前,如,-7里的‘-’。后缀标注中,方法放在对象之后,如,“7 toLong”里的“toLong”。

与中缀操作符——操作符带后两个操作数,一个在左一个在右——相反,前缀和后缀操作符都是一元:unary的:它们仅带一个操作数。

可以当作前缀操作符用的标识符只有+,-,!和~。因此,如果你定义了名为unary_!的方法,就可以像!p这样在合适的类型值或变量上用前缀操作符方式调用这个方法。但是如果你定义了名为unary_*的方法,就没办法用成前缀操作符了,因为*不是四种可以当作前缀操作符用的标识符之一。你可以像平常那用调用它,如p.unary_*,但如果尝试像*p这么调用,Scala就会把它理解为*.p,这或许就不会是你想当然的了!

后缀操作符是不用点或括号调用的不带任何参数的方法。Scala里,你可以舍弃方法调用的空括号。例外就是如果方法带有副作用就加上括号,如println(),不过如果方法没有副作用就可以去掉括号,如String上调用的toLowerCase

4.富包装器,每个基本类型,都有一个“富包装器”可以提供许多额外的方法。在包scala.runtime.Richxxx下

你可能感兴趣的:(Scala学习笔记(6)-基本类型和操作)