- Scala Tutorial
- Scala - Home
- Scala - Overview
- Scala - Environment Setup
- Scala - Basic Syntax
- Scala - Data Types
- Scala - Variables
- Scala - Classes & Objects
- Scala - Access Modifiers
- Scala - Operators
- Scala - IF ELSE
- Scala - Loop Statements
- Scala - Functions
- Scala - Closures
- Scala - Strings
- Scala - Arrays
- Scala - Collections
- Scala - Traits
- Scala - Pattern Matching
- Scala - Regular Expressions
- Scala - Exception Handling
- Scala - Extractors
- Scala - Files I/O
- Scala Useful Resources
- Scala - Quick Guide
- Scala - Useful Resources
- Scala - Discussion
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 } }
将上述程序保存在Demo.scala中。以下命令用于编译和执行该程序。
命令
\>scalac Demo.scala \>scala Demo
输出
str1 + str2 = Hello, Scala!
scala_functions.htm