Ich finden den Ternary Operator (Vereinfachung einer if-then-else Anweisung auf einer Zeile) sehr praktisch. Er ist leserlicher als eine simple if-then-else Anweisung, welche sich über mehrere Zeilen verteilt. Viele Sprachen haben den Ternary Operator eingebaut. Nachfolgend ein Beispiel, wenn die Variable threshold grösser als 80 ist wird der String critical, ansonsten normal ausgegeben.
|
|
|
|
Obschon es den Ternary Operator für Powershell nicht gibt kann sein Verhalten nachgebaut werden. Dafür kann die Tatsache, dass ein boolscher Wert durch eine 0 oder eine 1 repräsentiert wird in Zusammenhang mit einem Array verwendet werden. Je nach Script / Programmiersprache ist es unterschiedlich wie ein Wahr oder ein Falsch intern abgespeichert wird. Für Powershell finden wir das mit folgendem Code heraus.
|
|
Daraus ist ersichtlich, dass im Array Index 0 der Falsch Wert stehen muss und im Index 1 der Wahr Wert. Das oben verwendete Beispiel sieht dann folgendermassen aus.
|
|
Wofür das Ganze sinnvoll eingesetzt werden kann ist der Kreativität überlassen. In einem noch folgenden Beitrag werde ich aufzeigen wofür ich es bereits verwendet habe.