scala - Scala案例类类型问题
问题描述
我试图理解一些我被给予调试的 Scala 代码,以及为什么它不能按预期工作。(ps 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
}
矩阵只是一个列表列表。
该代码应该返回通过有效性检查的所有矩阵列的列索引列表,该有效性检查返回一个布尔值。与 println 一样,数据是正确的,但存在类型错误,因为 l2 是 List[Int] 而不是 List[ColNmbr]。我无法更改案例类,那么如何让类型匹配?
解决方案
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)
}
推荐阅读
- rest - 在 Flutter 中使用 Rest API 获取用户数据
- hibernate - Spring JPA:如何查看日志中发出的提交?
- java - 如何在没有重复数据的情况下在 Apache Pulsar 中进行集群切换
- dialogflow-es - Dialogflow Fulfillment:将多项选择题分解为单个问题
- angular - Angular 2+ Primeng + 下拉菜单 + 反应式表单
- php - 如何在codeigniter中获得3个单独列的总和
- r - 如何使用 R 更改选择集中的选择值?
- javascript - 如何在没有无限事件的情况下在两个滑块之间切换?
- go - Cond for 循环说明
- java - 带有扩展类型的 Java Lambda 函数