只是想知道问题WRT钻营问题上咖喱功能
如果我们定义了咖喱功能curriedNewSum
scala> def curriedNewSum(x : Int)(y : Int) = x + y
curriedNewSum: (x: Int)(y: Int)Int
scala> curriedNewSum(10)(20)
res5: Int = 30
scala> var tenPlus = curriedNewSum(10)_
tenPlus: (Int) => Int = <function1>
scala> tenPlus(20)
res6: Int = 30
scala> var plusTen = curriedNewSum(_)(20)
<console>:6: error: missing parameter type for expanded function ((x$1) => curri
edNewSum(x$1)(20))
var plusTen = curriedNewSum(_)(20)
^
那么,为什么curriedNewSum(10)_工程& curriedNewSum(_)(10)不?
好问题(虽然你应该在最后完成你的想法)......这看起来像是斯卡拉本地类型推断的一个例子,它不足以推断出似乎很明显的东西。 – 2011-01-30 23:46:20
使用`_`常常会为我引发这个错误。我还没有发现一种模式。 – Raphael 2011-02-01 09:35:35