Scala 组合函数

Scala中的组合函数

Scala组合函数是一种在程序中组合函数的方法,即混合多个函数以提取一些结果。在Scala编程语言中,有多种方法来定义函数的组成。他们是,

  1. 使用 compose 关键字

  2. 使用 andthen 关键字

  3. 将方法传递给方法

1)使用Compose关键字的Scala组合函数

Scala中的compose关键字对使用“ val”关键字定义的方法有效。

语法:

    (method1 compose method2)(parameter)

程序:

object MyObject 
{ 
	def main(args: Array[String]) 
	{ 
		println("百分比是 "+(div compose mul)(435)) 
	} 
	
	val mul=(a: Int)=> { 
		a * 100
	} 
	
	val div=(a: Int) =>{ 
		a / 500
	} 
}

输出结果

百分比是 87

2)使用andthe关键字的Scala组合函数

对使用val关键字function定义的函数起作用的另一个composition关键字是andThen

语法:

    (method1 andThen method2)(parameter)

程序:

object myObject 
{ 
	def main(args: Array[String]) 
	{ 
		println("百分比是 "+(mul andThen div)(435)) 
	} 
	
	val mul=(a: Int)=> { 
		a * 100
	} 
	
	val div=(a: Int) =>{ 
		a / 500
	} 
}

输出结果

百分比是 87

3)Scala合成函数的使用方法

在Scala中声明复合函数的另一种方法是将一种方法作为参数传递给另一种方法。

语法:

    function1(function2(parameter))

程序:

object myObject 
{ 
	def main(args: Array[String]) 
	{ 
		println("百分比是 "+ (  div(mul(456)) ))
	} 
	
	val mul=(a: Int)=> { 
		a * 100
	} 
	
	val div=(a: Int) =>{ 
		a / 500
	} 
}

输出结果

百分比是 91