scala Value +不是Vector[Int]的成员

pbpqsu0x  于 2022-12-13  发布在  Scala
关注(0)|答案(1)|浏览(165)

我是Scala的初学者,我正在尝试构建一个函数来计算矩阵中包含的所有数字的总和。

val pixels = Vector(
Vector(0, 1, 2),
Vector(1, 2, 3)
)

def sum(matrix: Vector[Vector[Int]]): Int = {
val sum: Int = matrix.reduce((a, b) => a + b)
}

println(sum(pixels))

但我得到以下错误:“value +不是Vector[Int]的成员”
你能帮我解决这个问题吗
提前感谢您!
所以我试了这个:

val pixels = Vector(
Vector(0, 1, 2),
Vector(1, 2, 3)
)

def sum(matrix: Vector[Vector[Int]]): Int = {
val sum: Int = matrix.reduce((a, b) => a + b)
}

println(sum(pixels))

我想把矩阵中包含的所有数字的总和取为整数。

jaxagkaj

jaxagkaj1#

我们将matrix定义为VectorsVector,所以reduce的参数是两个Vectors,而不是int。如果要对所有变量求和,需要先使用flatten,从内部向量中提取实际的int。而且,您编写的函数不会返回任何内容。您不希望对变量赋值:
def sum(matrix: Vector[Vector[Int]]) = matrix.flatten.reduce(_ + _)

相关问题