Scala 什么';这是什么意思_*

Scala 什么';这是什么意思_*,scala,syntax,Scala,Syntax,对于上面的代码,我知道(1到100)zip(1到100)将返回类似于Map的内容,但是它后面的.*的含义是什么?通过在Range上调用zip方法,您将IndexedSeq结构的类型设置为:IndexedSeq[(Int,Int)]。要将(Int,Int)元组传递到ParTrieMap,您必须进行类型归属(您的:*注释),因为您无法将Seq传递到ParTrieMap(没有带有apply(Seq:Seq[(a,B)])的方法)签名定义在ParTrieMap伴随对象中,但是有一个apply(a:(a,

对于上面的代码,我知道
(1到100)zip(1到100)
将返回类似于Map的内容,但是它后面的
.*
的含义是什么?

通过在Range上调用zip方法,您将IndexedSeq结构的类型设置为:
IndexedSeq[(Int,Int)]
。要将(Int,Int)元组传递到ParTrieMap,您必须进行类型归属(您的
:*
注释),因为您无法将Seq传递到ParTrieMap(没有带有
apply(Seq:Seq[(a,B)])的方法)
签名定义在ParTrieMap伴随对象中,但是有一个
apply(a:(a,B)*
方法)。基本上,从Seq中提取所有元组并将它们传递到Map中

Scala第8.8节“重复参数”中的编程有一个简单的例子: _*符号告诉编译器将每个元素作为自己的参数传递给ParTrieMap

第8.8节: val arr=数组(“有什么”、“向上”、“文档?”) 当你打电话的时候

val numbers = scala.collection.parallel.mutable.ParTrieMap(
    (1 until 100) zip (1 until 100): _*
  ) map { case (k, v) => (k.toDouble, v.toDouble) }
它会打印出来

echo(arr: _*) 
arr:*相当于类型声明,它告诉编译器将“arr”视为重复参数,例如vararg


这一点也解释得很好。

这里检查一下:您可以搜索字符n-grams:
What's
up
doc?