Scala 局部套用函数

  • 局部套用函数

    局部套用函数将一个包含多个参数的函数转换为一个函数链,每个函数都包含一个参数。咖喱函数定义了多个参数列表,如下所示-
    
    def strcat(s1: String)(s2: String) = s1 + s2
    
    另外,您也可以使用以下语法来定义局部套用函数-
    
    def strcat(s1: String) = (s2: String) => s1 + s2
    
    以下是调用局部函数的语法-
    
    strcat("foo")("bar")
    
    您可以根据需要在局部套用函数中定义两个以上的参数。尝试下面的示例程序以显示局部套用概念。
    
    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
       }
    }
    
    尝试一下
    输出:
    
    str1 + str2 = Hello, Scala!