2011-02-04 79 views
0

查找难以理解以下控制结构控制结构

scala> def twice(op: Double => Double, x: Double) = op(op(x)) 

twice: (op: (Double) => Double,x: Double)Double 

scala> twice(_ + 1,5) 

res0: Double = 7.0 
+1

嗯。你的问题不是很精确。你不明白什么? – Madoc 2011-02-04 16:05:35

+0

这是一个有趣的因为格式化,至少对于习惯','作为小数点分隔符的人。 :) – mkneissl 2011-02-05 09:32:11

回答

3
op: Double => Double 

是一个函数,它一个Double并返回一个Double作为结果。 twice是一个方法需要一个号码,在它上面调用op,然后在结果上调用op

_ + 1 

是一个函数,它接受一个值并向其中添加一个值。

你大概可以从那里弄清楚其余的。