发送函数以折叠Scala
如何发送累加函数以折叠Scala,下面的示例将说明发送函数以折叠Scala,scala,Scala,如何发送累加函数以折叠Scala,下面的示例将说明(Int,Int,Int)不接受参数 我的问题是: 为什么会出现这个错误 在下面的代码中,idomatic如何实现我想要的功能 def a(xs: List[(Int,Int)]): Int = { def logic(acc: (Int,Int, Int), post: (Int,Int)): (Int,Int,Int) = { // do some logic (1, 2, 3) } val to = xs foldL
(Int,Int,Int)不接受参数
我的问题是:
- 为什么会出现这个错误
- 在下面的代码中,idomatic如何实现我想要的功能
def a(xs: List[(Int,Int)]): Int = {
def logic(acc: (Int,Int, Int), post: (Int,Int)): (Int,Int,Int) = {
// do some logic
(1, 2, 3)
}
val to = xs foldLeft((0,0,0))(logic _)
to._3
}
我不明白您代码的目的,但您描述的问题可以通过以下方式解决:
val to = xs.foldLeft((0,0,0))(logic)
我不了解您代码的目标,但您描述的问题可以通过以下方式解决:
val to = xs.foldLeft((0,0,0))(logic)
试试这个
xs.foldLeft((0,0,0), logic)
试试这个
xs.foldLeft((0,0,0), logic)
问题在于:
xs foldLeft((0,0,0))(logic _)
除非是运算符,否则永远不要使用无点符号。这样就行了
xs.foldLeft((0,0,0))(logic _)
如果没有上下文,我相信这已经足够惯用了。问题在于:
xs foldLeft((0,0,0))(logic _)
除非是运算符,否则永远不要使用无点符号。这样就行了
xs.foldLeft((0,0,0))(logic _)
如果没有上下文,我相信这已经足够惯用了。foldLeft
是一个curry函数,所以它需要一个
-点击xs.foldLeft
,它就会工作。foldLeft
是一个curry函数,所以它需要一个
-点击xs.foldLeft
,它就会工作。无需投票就投反对票解释对任何人都没有好处,没有解释的否决不会对任何人有利。