Für die if ... else ... Anweisung gibt es eine Kurzform.
Sehen Sie sich das folgende Beispiel an.
| Beispiel 1 | Beispiel 2 |
|---|---|
if ( x == 1 )
y = 10;
else
y = 20;
|
y = (x == 1) ? 10 : 20; |
Beide Beispiele machen das gleiche. Wenn x gleich 1 ist, dann wird y auf 10 gesetzt, sonst wird y auf 20 gesetzt. Im Beispiel rechts wird der erste Ausdruck ausgewertet '(x ==1 )' und wenn er 'wahr' ist, wird der nächste Ausdruck ausgewertet und y auf '10' gesetzt. Ansonsten erhält y den Wert 20. Noch ein weiteres Beispiel:
| Beispiel 1 | Beispiel 2 |
|---|---|
if ( x == 1 )
puts("take car");
else
puts("take bike");
|
(x == 1) ? puts("take car") : puts("take bike");
or
puts( (x == 1) ? "take car" : "take bike");
|
Man geht davon aus, daß ein Compiler aus bedingten Anweisungen effektiveren Maschinencode erzeugen kann. Im Beispiel 2 wird deutlich, daß sich dabei die Lesbarkeit des Programmes verschlechtert. Sie sollten deshalb diese Anweisung umsichtig verwenden und sich im Zweifelsfall für bessere Lesbarkeit und höhere Zuverlässigkeit entscheiden.