Scala中的函数和方法
2018-03-05 本文已影响0人
扣篮的左手
方法是对象中的一个方法
函数是一个对象
对象就有一些对应的方法
//函数中自带的一些方法(f1是一个函数)
scala> f1.
apply curried toString tupled
通过一个下划线把一个方法转换成函数
scala> def m1(x:Int,y:Int)=x+y
m1: (x: Int, y: Int)Int
scala> val f1=(x:Int, y:Int)=>x+y
f1: (Int, Int) => Int = <function2>
scala> m1 _
res8: (Int, Int) => Int = <function2>
scala中下划线会出现很多次,这里下划线将一个方法转换成一个函数
案例:
首先定义一个方法,再定义一个函数,然后将函数传递到方法里面
scala> def m1(t:(Int,Int)=>Int)=t(1,2) //定义一个方法,前后两个t要一致,这个是函数名
m1: (t: (Int, Int) => Int)Int
scala> val f1=(x:Int,y:Int)=>x+y //定义一个函数
f1: (Int, Int) => Int = <function2>
scala> m1(f1) //将函数作为参数传入到方法中
res9: Int = 3