は、今日のScalaを学び始め、そしてあなたのようなカリー化付加する機能をオーバーロードすることができます場合、私は興味があった:カレーを追加するためのスカラオーバーロード機能?
def add(x: Int, y: Int): Int = x + y
def add(x: Int)(y: Int): Int = x + y
しかし、このコードはコンパイルされませんが、私はScalaで過負荷がないことを聞いただけでなく、良いアイデア。
追加アプリケーションを部分的に適用せずにカレート化する方法はありますか?つまり、add(1, 2)
とadd(1)(2)
の両方が機能しますか?
- 引数
- の数が異なるか
add
の両方の定義は同等であるあなたの例では、異なる引数の型(S)
を持っている:それは関数はどちらかがなければならないことが必要だの過負荷のために
これはかなりクールですが、あまりにもハッキリですが、これまで実用的だと思います。ありがとう! – m0meni