Funktionen definierst du mit def. Parameter brauchen einen Typ, der Rückgabetyp steht nach dem Doppelpunkt. Der letzte Ausdruck ist der Rückgabewert, return ist unüblich. Parameter können Standardwerte haben und per Namen übergeben werden.
Funktionen sind Werte: Eine anonyme Funktion (Lambda) schreibst du x => x * 2 und übergibst sie weiter, zum Beispiel an map.
def quadrat(x: Int): Int = x * x
def gruss(name: String, ausruf: String = "Hallo"): String =
s"$ausruf, $name!"
val verdoppeln = (x: Int) => x * 2
@main def demo(): Unit =
println(quadrat(7))
println(gruss("Mia"))
println(gruss(ausruf = "Moin", name = "Tom"))
println(List(1, 2, 3).map(verdoppeln))Merke
def name(param: Typ): Rückgabetyp- Letzter Ausdruck ist das Ergebnis
- Lambdas:
x => x * 2
Aufgabe
Schreibe maximum(a, b) und rufe sie mit zwei Zahlen auf.