省略多参数currying函数的第一个参数

时间:2016-09-21 02:29:39

标签: scala function parameter-passing

有没有办法避免第一个梳子函数参数?

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)

例如,我可以声明这样的内容,以便我可以在代码中稍后定义我的组合函数,还是必须更改参数列表的顺序?

1 个答案:

答案 0 :(得分:0)

如评论中所述,要么:

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

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