【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
327 0
spark开发基础之从Scala符号入门Scala
|
Ruby
【Ruby on Rails全栈课程】2.4 ruby的数据类型--符号(Symbol)、特殊值(True、False 和 Nil)
1、符号(Symbol) 符号对象表示Ruby中的一些名称(类名、方法名、变量名等)和一些字符串。表现形式有:name或者:“string”,创建的对象会储存在ruby的符号表中,相同内容的符号不会再重新创建,在一些情况下,使用符号(Symbol) 处理名字可以降低 Ruby 内存消耗,提高执行速度。
198 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变量具有相同的引用地址。
1281 0
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
195 5
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
147 3