-1
我看到這個斯卡拉語法,我不明白這是什麼意思:這個Scala語法是什麼意思(_ *)?
val a: HashMap[String, String] = HashMap(b map {s => (s(0), s(1))} : _*)
我明白,它需要對列表並將其轉換爲每個的第一要素鍵入一個HashMap對,值是該對中的第二個元素。 但是,我不明白這個語法是如何暗示的,以及_ *的含義。
我看到這個斯卡拉語法,我不明白這是什麼意思:這個Scala語法是什麼意思(_ *)?
val a: HashMap[String, String] = HashMap(b map {s => (s(0), s(1))} : _*)
我明白,它需要對列表並將其轉換爲每個的第一要素鍵入一個HashMap對,值是該對中的第二個元素。 但是,我不明白這個語法是如何暗示的,以及_ *的含義。
首先,s => (s(0), s(1))
創建一個(String, String)
類型的元組。其次,_
是上述元組類型(String, String)
的通配符。然後,用*
表明它是一個vararg
(重複參數)。
因此,換句話說,這意味着你傳遞_
類型的Array
用的參數,這些參數是從馬平集合b
成元組(String, String)
(表示爲_
)創建(*
)可變數目。