我正在尝试了解一些我调试的Scala代码,以及为什么它不能按预期工作。 (p.s.newbe alert wrt Scala)。
case class ColNmbr(colNmbr: Int)
def getValidColumns(m: Matrix): List[ColNmbr] = {
var l1 = matrix.zipWithIndex
var l2 = l1.filter(tp => !checkCol(tp._1)).map(_._2)
println("result:" + l2)
l2
}
Matrix只是一个列表列表。
代码应返回所有矩阵列的列索引列表,这些列索引通过有效性检查,返回布尔值。数据在println处是正确的,但是存在类型错误,因为l2是List [Int]而不是List [ColNmbr]。我无法更改案例类,那么如何才能使类型匹配?
答案 0 :(得分:1)
case class ColNmbr(colNmbr: Int)
def getValidColumns(m: Matrix): List[ColNmbr] = {
var l1 = matrix.zipWithIndex
var l2 = l1.filter(tp => !checkCol(tp._1)).map(_._2)
println("result:" + l2)
l2.map(ColNmbr)
}