鉴于以下示例,我可以看到,如果我尝试用多个参数列表或仅多个参数组合一个函数,它会有所不同。我不明白为什么它不一致。
val foo: Int => Int => Int = ???
foo.curried.andThen(???) // KO
foo.tupled.andThen(???) // KO
foo.andThen(???) // OK
val bar: (Int, Int) => Int = ???
bar.curried.andThen(???) // OK
bar.tupled.andThen(???) // OK
bar.andThen(???) // KO
为什么 Scala 编译器不能bar
作为我可以compose
/调用的函数处理andThen
?