scala函数demo
/** * Created by root * Description : 柯里化函数,偏应用函数,匿名函数,高阶函数 */ object FunctionTest { def main(args: Array[String]): Unit = { //柯里化函数 def add(x:Int)(y:Int):Int= x + y //等价 def add(x:Int,y:Int):Int = x + y println(add(1)(2)) //偏应用函数,每次固定与100相加 val add1 = add(100)_; println(add1(10)) println(add1(20)) // 求a到b之间的累加和 var s =0; def sum(a:Int, b:Int):Int={ for (i <- a to b){ s += i; } s } println(sum(1,5)) // 偏应用函数,每次从开始位置10累加 val sumStartIndex = sum(10,_:Int) println(sumStartIndex(100)) // 匿名函数 var mul = (x:Int,y:Int) => x * y println(mul(2,3)) def add3(x:Int,y:Int):Int= x + y // 高阶函数,接收一个函数类型 def foo(f:(Int,Int)=>Int,x:Int,y:Int)={ f(x,y) } println(foo(add3,1,5)) } }