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?