4.01) Mathematische Funktionen

Mathematische Funktionen haben verschiedene Prioritäten, dies haben wir bereits gelernt.

Doch während bei alphanumerischen Funktionen die Parameter innerhalb von Klammern übergeben werden, können diese hier entfallen. Trotzdem ist es möglich sie zu verwenden, weshalb folgende zwei Zeilen identisch sind:

5+4*3-2.print
5+(4)*(3)-(2).print

Die 4 ist der Parameter der Funktion + vom Objekt 5. Die 3 ist der Parameter der Funktion * vom vorherigen Ergebnis, ...
Somit verhalten sich mathematischen Funktionen sehr ähnlich zu alphanumerischen Funktionen.

Alternativen

Merke:
Für jede Funktion mit einem mathematischen Zeichen, existiert eine alphanumerische Entsprechung.

So existiert für Plus neben "+" auch ein ".add" und für "*" ein ".mul". Wir könnten also folgendes schreiben:

5.add(4).mul(3).sub(2).print

Dies ergibt ebenso 25.

Da nun alles die gleiche Priorität hat und die Parameter innerhalb von Klammern übergeben werden, können wir folgendes machen:

5.add(4.mul(3)).sub(2).print

Ebenso lassen sich diese Funktionen mit mathematischen Zeichen mischen. Aber, wichtig ... hier die verschiedenen Prioritäten beachten:

5.add(4)*3.sub(2).print

Hier wird das "sub" der Multiplikation vorgezogen! Somit erfolgt eine Ausgabe von "1" (3-2 = 1) und der Rückgabewert ist nun 9 da ((5+4)*(3-2) = 9)