-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)
(表示为_
)创建(*
)可变数目。