scala> def sum(a:Int)(b:Int) = a+b;
sum: (a: Int)(b: Int)Int
scala> var psum = sum(5)_
psum: Int => Int = $$Lambda$1035/[email protected]
scala> psum(23)
res0: Int = 28
Die obige Snippet funktioniert gut, aber nicht sicher, warum die folgenden Code-Schnipsel complains.I gehe davon aus, dass, wenn ich für ein Argument setzen unterstreichen, ich diese Funktion Curry kannScala currying mit drei Argumenten Funktion
scala> def sum(a:Int)(b:Int)(c:Int) = a + b + c;
sum: (a: Int)(b: Int)(c: Int)Int
scala> var psum = sum(5)_(23)
Ihre Antwort ist falsch, wie ich hier demonstriere: '' 'def Summe (a: Int) (b: Int) (c: Int) = s" a: $ a, b: $ b, c: $ c "; val psum = (Summe (5) _) (23); psum (50) == "a: 5, b: 23, c: 50" " – pedrofurla
Ist Ihnen auch klar, dass es nur die gleiche Antwort gibt, weil" + "kommutativ ist? Es hat wenig mit Auftrags- oder Funktionsanwendung zu tun. – pedrofurla
Yep, es sieht jetzt falsch aus, dass ich es mir anschaue. Es reparieren, danke! –