1

我無法理解Scala列表。我只是想創建一個列表的列表:名單(名單(1,2),列表(3,4)) 在REPL我想:Scala List building

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

列出(1,2)::列表(3,4)::無由@ som-snytt解釋 – curious

+0

您也可以在編譯器無法自行推斷正確類型的情況下明確註釋類型。就像它推斷爲List [Any]的List()一樣。 (List [1,2]))或者:List [List [Int]](List(),List(1,2))或者:List(List .empty [Int],List(1,2))' –

回答

6

你會想要閱讀the book,它解釋說,缺點:: prepends在右邊的東西。

初始化新列表的一種方法是將cons元素與cons運算符的 連接在一起,Nil作爲最後一個元素。

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

書中還介紹了有關在結腸結束運營。

如果您在List[Int]的正面粘上List[Nothing],您會看到您目擊的List[Any]

+0

謝謝你的幫助! – user1026498