我只是 Scala 的新手,为什么 Scala 提供“咖喱函数”让我有点困惑,例如:
//curried function
def add(lhs: Int)(rhs: Int) = lhs + rhs
//so we can do partially binding like
val add1 = add(1)_
它令人困惑,因为 Scala 已经为普通函数提供了“部分应用程序”,例如,
//normal function
def add(lhs: Int, rhs: Int) = lhs + rhs
//also supports partially application
val add1 = add(1, _: Int)
所以我的问题是:除了部分应用程序之外,在 Scala 中使用 curried 函数而不是普通函数还有其他意义吗?
EDT1:感谢您的回复。我想我从以下所有答案中学到了新东西。