2016-09-21 4 views
0

最初のcomb関数パラメータを避ける方法はありますか?私は、コードの後半で私の組み合わせ関数を定義することができるように、例えばマルチパラメータカリング関数の最初のパラメータを省略します

def sum(comb: (Int, Int) => Int)(f: Int => Int)(a: Int, b: Int): Int = { 
    if(a >= b) b 
    else comb(f(a), sum(comb)(f)(a + 1, b)) 
} 
val func = sum(x => x)(1, 5) 

、私はこのような何かを宣言することができ、またはそれは私がパラメータリストの順序を変更することは必須でしょうか?

+0

'和(_:(INT、INT)=> INT)(X => X)(1、5 ) '、タイプ推論はここでは機能しません –

+0

' val f:((Int、Int)=> Int)=> Int =合計(_)(x => x)(1,5) ' –

+0

フィッティングしている。だから、私は正しいものを選ぶことができるように、それらを適切に投稿しますか? – docff

答えて

0

コメント欄で述べたように、次のいずれか

val f: ((Int, Int) => Int) => Int = sum(_)(x => x)(1, 5) 

又は

sum(_: (Int, Int) => Int)(x => x)(1, 5) 
関連する問題