2009-09-20 2 views

ответ

8
scala> class X(i : Int){ def method(y : Int) = y + i } 

defined class X 

scala> val x = new X(10) 

x: X = [email protected] 

scala> val f = x.method _ 

f: (Int) => Int = <function> 

scala> val r = x.method(2) 

r: Int = 12 

scala> val r2 = f(2) 

r2: Int = 12 
2

this полезная ссылка указывает на то, что методы не имеют функции, функции имеют методы - однако, если вы хотите, чтобы сделать функцию из метода, возможно, это то, что вы хотите:

scala> def m1(x:Int) = x+3 
m1: (Int)Int 
scala> val f2 = m1 _ 
f2: (Int) => Int = <function> 
Смежные вопросы