Scala案例类类型问题

时间:2018-06-02 17:40:33

标签: scala

我正在尝试了解一些我调试的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]。我无法更改案例类,那么如何才能使类型匹配?

1 个答案:

答案 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)
}