斯卡拉列表建设

时间:2015-08-14 21:14:11

标签: scala collections functional-programming scala-collections

我无法理解Scala列表。我只想创建一个列表列表: List(list(1,2),List(3,4)) 在REPL我正在尝试:

val list= List()
val lt = List(1,2)
val ls = List(3,4)
list::lt resolves to - res0: List[Any] = List(List(), 1, 2) 
list::ls resolves to - res1: List[Any] = List(List(), 3, 4)

我来自java并且从未在功能上编程过。我只是没有得到它。

感谢您的帮助!!

1 个答案:

答案 0 :(得分:6)

您希望阅读the book,其中解释了权利::取决于右侧的事物。

  

初始化新列表的一种方法是将元素串起来   cons运算符,Nil作为最后一个元素。

scala> List(1,2) :: Nil
res1: List[List[Int]] = List(List(1, 2))

本书还解释了以冒号结尾的运算符。

如果您将List[Nothing]贴在List[Int]的正面,则会获得您目击的List[Any]