【发布时间】:2013-06-08 02:57:24
【问题描述】:
我正在学习一些函数式编程语言,学习感兴趣的东西,我现在正在研究 Scala。我想做的是找出最简单的方法来编写一个名为double 的函数,该函数接受一个参数并将其加倍。到目前为止,我想出的是:
def double = (x:Int) => x*2
或
def double(x:Int) = x*2
这可行,但我正在寻找最简单的方法。在 Haskell 中,我可以简单地这样做:
double = (*2)
因为它是一个部分应用的函数,所以不需要命名变量或指定任何类型(我确信 * 函数会处理这些)。有没有类似的方法可以使用 Scala 做到这一点?我尝试了一些,尤其是使用_ 而不是x,但似乎都没有。
【问题讨论】:
标签: scala haskell partial-application