我有斯卡拉的列表元組類似如下:意外Scala的模式匹配語法
val l = List((1,2),(2,3),(3,4))
,我想把它映射爲int的列表,其中每個項目是int型的相應總和元組。我也不想用就用的x._1符號,所以我解決了這個問題與模式匹配這樣
def addTuple(t: (Int, Int)) : Int = t match {
case (first, second) => first + second
}
var r = l map addTuple
這樣做,我得到的名單R:列表[INT] =一覽(3, 5,7)如預期。在這一點上,幾乎是在偶然中,我發現,我可以像下面的縮寫形式達到相同的結果:
val r = l map {case(first, second) => first + second}
我找不到這個語法我的文檔中的任何引用。這是正常的嗎?我錯過了一些微不足道的東西嗎?
這個語法很好,但對於這樣的事情,我更喜歡l.map(t => t._1 + t._2)。我認爲x._1語法沒有錯誤 – Landei 2010-09-17 08:28:02