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

上一篇下一篇

猜你喜欢

热点阅读