gpt4 book ai didi

scala - 缺少扩展函数的参数类型 (Scala)

转载 作者:行者123 更新时间:2023-12-05 09:28:25 27 4
gpt4 key购买 nike

这是我的功能:

def sumOfSquaresOfOdd(in: Seq[Int]): Int = {
in.filter(_%2==1).map(_*_).reduce(_+_)
}

为什么我会收到“缺少扩展函数的参数类型”错误?

最佳答案

map正在接受一个参数 ((A) => B) 的函数,而每个 _ 占位符代表一个单独的参数 anonymous function (即 _ * _ 是带有两个参数的函数)。您可以将 i => i * i lambda 用于您的 map 函数:

def sumOfSquaresOfOdd(in: Seq[Int]): Int = {
in.filter(_%2==1)
.map(i => i * i)
.reduce(_ + _)
}

您还可以使用 sum 而不是 reduce(_ + _)(注意 sum 不会抛出空序列,而 减少 将):

def sumOfSquaresOfOdd(in: Seq[Int]): Int = {
in.filter(_%2==1)
.map(i => i * i)
.sum
}

关于scala - 缺少扩展函数的参数类型 (Scala),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71307097/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com