Um scala besser kennen zu lernen, stieß ich auf ein Verhalten, das ich nicht erklären kann. Der Code unten funktioniert:Warum passiert einige Funktionen in scala _
def triple(x: Double) = 3 * x
Array(3.14,1.42,3.9).map(triple)
jedoch Wenn ich die scala ceil Funktion in Mathematik-Bibliothek aufrufen, dann werde ich brauchen, um einen Pass _ für sie
def valueAtOneQuarter(f: (Double)=> Double) = f(0.25)
valueAtOneQuarter(sqrt _)
zu arbeiten Was ist das Besondere _ in diesem Zusammenhang vom Funktionsaufruf im früheren Code.
es tatsächlich funktioniert gut für mich ohne Unterstrich in beiden Fällen – Dima
Die Erweiterung funktioniert für mich auch und passiert automatisch, es gibt keine Notwendigkeit, _ zu verwenden, wie Dima sagte. –