Currying将一个包含多个参数的函数转换为一个函数链,每个函数都包含一个参数。咖喱函数定义了多个参数列表,如下所示-
def strcat(s1: String)(s2: String) = s1 + s2
另外,您也可以使用以下语法来定义咖喱函数-
def strcat(s1: String) = (s2: String) => s1 + s2
以下是调用curried函数的语法-
strcat("foo")("bar")
您可以根据需要在咖喱函数中定义两个以上的参数。尝试下面的示例程序以显示currying概念。
object Demo { def main(args: Array[String]) { val str1:String = "Hello, " val str2:String = "Scala!" println( "str1 + str2 = " + strcat(str1)(str2) ) } def strcat(s1: String)(s2: String) = { s1 + s2 } }
将上述程序保存在 Demo.scala 中。以下命令用于编译和执行该程序。
链接:https://www.learnfk.comhttps://www.learnfk.com/scala/currying-functions.html
来源:LearnFk无涯教程网
\>scalac Demo.scala \>scala Demo
str1 + str2 = Hello, Scala!
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)