在scala中,哪种情况下咖喱是有用的?

在scala中,哪种情况下咖喱是有用的?,scala,currying,Scala,Currying,我发现了一些关于什么是咖喱以及它能做什么的好帖子。它可以将具有参数列表的函数转换为函数列表。我不清楚这在什么情况下有用。谁能给我举个具体的例子 curry不会将具有参数列表的函数转换为函数列表。它将具有多个参数的函数转换为接受一个参数的函数,并递归返回接受其余参数的函数。例如: scala> def f(x: Int, y: Int, z:Int) = x + y + z ff: (x: Int, y: Int, z: Int)Int scala> (f _).curried re

我发现了一些关于什么是咖喱以及它能做什么的好帖子。它可以将具有参数列表的函数转换为函数列表。我不清楚这在什么情况下有用。谁能给我举个具体的例子


curry不会将具有参数列表的函数转换为函数列表。它将具有多个参数的函数转换为接受一个参数的函数,并递归返回接受其余参数的函数。例如:

scala> def f(x: Int, y: Int, z:Int) = x + y + z
ff: (x: Int, y: Int, z: Int)Int

scala> (f _).curried
res4: Int => (Int => (Int => Int)) = <function1>

Curry不会将具有参数列表的函数转换为函数列表。它将具有多个参数的函数转换为接受一个参数的函数,并递归返回接受其余参数的函数。例如:

scala> def f(x: Int, y: Int, z:Int) = x + y + z
ff: (x: Int, y: Int, z: Int)Int

scala> (f _).curried
res4: Int => (Int => (Int => Int)) = <function1>

就Scala而言,(请参阅:所有
折叠的实现)就Scala而言可能的重复,(请参阅:所有
折叠的实现)可能的重复