2011-02-04 70 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 

是一個函數,它接受一個值並向其中添加一個值。

你大概可以從那裏弄清楚其餘的。