P177について記述します。
def twice(op: (Double) => Double , x: Double) = op(op(x))
上記を定義し、以下を実行します。
println(twice(_ + 1, 5))
結果は7になります。
以下処理の順番を記述します。
op(op(x))
は、関数(_ + 1)の設定によりまずop(_ + 1)となります。_に5が入るので、以下になります。
op(5 + 1)
つまり以下になります。
op(6)
上記はさらに・・
6 + 1
よって7が戻り値となり、書籍の結果になりました。
最終更新:2013年10月06日 12:09