【scala初学】scala symbol 符号 -2

简介:

List的特殊符号

定义一个List

1
val  day  =  List()

约定: []内为特殊字符,不包括[]

一 特殊字符 [ :: ]

1
val  when  =  "AM"  ::  "PM"  ::  day

得到result列表:

      List(AM, PM)

 

这里简单讨论一下 :: 符号

:: 是一个final的 case class , 是一个有一个头和一个尾的非空 List

  head  简称B list元素类型,第一个元素

  tail   简称tl 包含除了第一个元素的其他元素

由此特征:

 1.  声明when的时候 ,List() ,即day 必须在最后一个元素

 2.  定义必须有List(), 即 不能

1
var  when  =  "AM"  ::  "PM"

 3. List 可以非空,即 

1
val  when  =  "AM"  ::  "PM"  ::  List( "Hour" )

更多内容见:

http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.$colon$colon

 

除了上述符号,以下符号实际为List的一个方法

二 特殊字符 [ .++  ]

1
var  =  List( 1 2 ).++(List( 3 4 ))

三 特殊字符 [ ++  ] 同[ .++ ]

1
var  =  List( 1 2 ) ++ List( 3 4 )

四 特殊字符 [ .:: ] 

1
var  =  List( 2 3 ). :: ( 1 )

五 特殊字符 [ +:  ] 和 [ :+ ]

1
var  =  1  + :  List( 2 3 : 4

 

除此以外还有 [ /:  ] [ :\  ] [ ::: ] 

http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.List










本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/1412992,如需转载请自行联系原作者
目录
相关文章
|
分布式计算 Java 程序员
spark开发基础之从Scala符号入门Scala
spark开发基础之从Scala符号入门Scala
137 0
spark开发基础之从Scala符号入门Scala
|
Ruby
【Ruby on Rails全栈课程】2.4 ruby的数据类型--符号(Symbol)、特殊值(True、False 和 Nil)
1、符号(Symbol) 符号对象表示Ruby中的一些名称(类名、方法名、变量名等)和一些字符串。表现形式有:name或者:“string”,创建的对象会储存在ruby的符号表中,相同内容的符号不会再重新创建,在一些情况下,使用符号(Symbol) 处理名字可以降低 Ruby 内存消耗,提高执行速度。
96 0
|
Java Scala API
Scala Symbol笔记
Symbol This class provides a simple way to get unique objects for equal strings. Since symbols are interned, they can be compared using reference equality. symbols可以作为一种快速比较字符串的方式,如果字符串的值相同,则返回的symbol变量具有相同的引用地址。
1184 0
|
SQL 消息中间件 分布式计算
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
671 0
如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】
|
2月前
|
分布式计算 Java Scala
spark 与 scala 的对应版本查看、在idea中maven版本不要选择17,弄了好久,换成11就可以啦
spark 与 scala 的对应版本查看、.在idea中maven版本不要选择17,弄了好久,换成11就可以啦
110 2