我正在尝试使用嵌套函数过滤压缩数组,但是我遇到了与变量“mergedRow”类型相关的编译错误
以下是我的例子:
ScalaVersion = 2.10.4
val arrayOne : Seq[IndexedSeq[Double]] = Seq.empty
val arrayTow : Seq[IndexedSeq[String]] = Seq.empty
(this.arrayOne , this.arrayTow).zipped.filter{
mergedRow : (IndexedSeq[String], IndexedSeq[Double])=>
// some processing
true
}
编译错误:
Error:(130, 51) type mismatch;
found : ((IndexedSeq[String], IndexedSeq[Double])) => Boolean
required: (IndexedSeq[String], IndexedSeq[Double]) => Boolean
mergedRow : (IndexedSeq[String], IndexedSeq[Double])=>
^
我不知道这个错误的来源,所以我们将不胜感激。
干杯。
答案 0 :(得分:1)
您错过了case
。看起来应该更像这样:
(arrayOne , arrayTwo).zipped.filter{
case (one, two) =>
// filter predicate
}
类型参数将产生无结果类型测试警告,因此我省略了它们。如果您愿意,可以将case (one, two)
替换为case mergedRow
,但对one
和two
执行操作比mergedRow._1
和mergedRow._2
更清晰。< / p>