带有curried函数的Scala无点调用语法
注意:更一般问题的详细答案在堆栈溢出问题中 以下工作:带有curried函数的Scala无点调用语法,scala,syntax,Scala,Syntax,注意:更一般问题的详细答案在堆栈溢出问题中 以下工作: scala> List(1,2,3) filter (_ > 1) reduceLeft(_ + _) res65: Int = 5 以及以下各项: scala> List(1,2,3).filter(_ > 1).foldLeft(0)(_ + _) res67: Int = 5 但不是这个税: scala> List(1,2,3) filter (_ > 1) foldLeft(0)(_ + _)
scala> List(1,2,3) filter (_ > 1) reduceLeft(_ + _)
res65: Int = 5
以及以下各项:
scala> List(1,2,3).filter(_ > 1).foldLeft(0)(_ + _)
res67: Int = 5
但不是这个税:
scala> List(1,2,3) filter (_ > 1) foldLeft(0)(_ + _)
<console>:10: error: 0 of type Int(0) does not take parameters
List(1,2,3) filter (_ > 1) foldLeft(0)(_ + _)
^
scala>List(1,2,3)过滤器(>1)foldLeft(0)(u+)
:10:错误:Int(0)类型的0不接受参数
列表(1,2,3)过滤器(>1)折叠英尺(0)(+)
^
什么是建议的修复方法?此方法有效:
(List(1,2,3) filter (_ > 1) foldLeft 0) (_ + _)
这项工作:
(List(1,2,3) filter (_ > 1) foldLeft 0) (_ + _)
这个主题在堆栈溢出问题中有很好的描述 函数似乎比只有一个参数的方法要难一些。要省略点,curried函数需要在中缀调用之外使用括号 如图所示,这是有效的(对象(列表)、方法(foldLeft)及其第一个参数(0)在括号中):
这个主题在堆栈溢出问题中有很好的描述 函数似乎比只有一个参数的方法要难一些。要省略点,curried函数需要在中缀调用之外使用括号 如图所示,这是有效的(对象(列表)、方法(foldLeft)及其第一个参数(0)在括号中):
Marimuthu和你应该加入你的答案Marimuthu和你应该加入你的答案。