0
Ich habe eine Funktion, wie untenWie kann der Vorgängerwert beim Aufruf der Methode mit Standardargumenten weggelassen werden?
def add(a: Int = 10, b: Int = 15): Int = {
var sum: Int = 0
sum = a + b
return sum
}
Wenn I add(5, 5)
Call, ausgegeben 10. Wenn I add()
Call, 25 ausgegeben, als Standardwerte verwendet werden. Wenn ich rufe add(8)
, d. H. Einen einzelnen Wert, a ist 8 zugeordnet, so ist insgesamt 23.
Jetzt möchte ich den Standardwert zuweisen und nur Pass b.
Ich versuchte add(, 6)
, aber es gibt einen Fehler.
Verwendung benannter Parameter: 'hinzufügen (b = 6)'. Beachten Sie, dass in Ihrer Definition ein '=' Zeichen fehlt. – Jubobs
Verwenden Sie nicht 'var'. Warum benutzt du es? Warum nicht einfach 'def add schreiben (a: Int = 10, b: Int = 15) = a + b'? Jedes Mal, wenn Sie denken, dass Sie 'var' verwenden möchten, fragen Sie sich:" _why_ glaube ich, ich möchte es benutzen? " – Dima
Obwohl die Verwendung 'benannter Parameter' funktioniert, würde ich fragen, warum Sie in diesem Fall Standardparameter verwenden. Ich finde 'add (10, 6)' besser lesbar als 'add (b = 6)'. Ich gebe zu, dass ich in diesem Fall generell für explizite über implizite, d. H. Standardwert bin. –