class A {
def b(x: Int) = x + 1
}
val a = new A
a.b(2) // 3
a.b 2 // error 必须得省略小数点
a b 2 // 3
4. 伟大的 _
4.1 方法转函数
class A {
def b(x: Int) = x + 1
}
val a = new A
a.b _ // Int => Int = <function1>
a.b(_) // function1 可以这样转
a.b(_, _) // function2 可以这样转,trait FunctionN 同理
4.2 Partial application
def adder(a: Int, b: Int) => a + b
val add2 = adder(_: Int, 2)
add2(1) // 3
1. 函数和方法的区别
def 是方法 =。= http://stackoverflow.com/a/2530007/4568509
2. 方法调用
2.1 ()
2.2 {}
2.3 逃~
2.4 省略括号
参见 #3
3. 括号的省略
3.1 无参方法
3.2 方法调用
无括号调用时必须得省略小数点
4. 伟大的 _
4.1 方法转函数
4.2 Partial application
你可以部分应用参数列表中的任意参数,而不仅仅是最后一个。