Bedeutung des doppelten Fragezeichens in Ruby

Bedeutung des doppelten Fragezeichens in Ruby
Wenn Sie mit Ruby -Code -Basen arbeiten, können Sie auf eine Syntax stoßen, die doppelte Fragenmarkierungen verwendet. In diesem Tutorial werden wir zusammenfassen, was diese Bediener bedeuten und wie sie im Kontext der Nutzung arbeiten.

Rubin? Operator

In Ruby die ? Operator ist ternärer Operator. Es wird als Abkürzung für eine if… sonst. Die Syntax ist wie folgt:

Zustand ? action_if_true: action_if_false

In diesem Fall wird die Bedingung entweder als wahr oder falsch bewertet. Wenn die Bedingung wahr ist, wird der Ausdruck vor der: ausgeführt:. Ansonsten wird der Ausdruck nach dem: ausgeführt:.

Wir können dies demonstrieren, indem wir ein Beispiel verwenden, wie unten gezeigt:

x = 5
setzt x> 0 ? "positiv negativ"

In diesem Fall testet der Code, ob der Wert von x größer als 0 ist. Wenn wahr, druckt der Block positiv aus. Andernfalls druckt es negativ aus.

IRB (Haupt): 002: 0> setzen x> 0 aus ? "positiv negativ"
positiv
=> nil

Der gleiche Fall gilt, wenn der Wert wie gezeigt negativ ist:

IRB (Haupt): 003: 0> x = -5
IRB (Haupt): 004: 0> setzt x> 0 aus ? "positiv negativ"
Negativ
=> nil

Sie können auch mehrere Bedingungen mit dem anketten ? Operator wie im folgenden Beispiel gezeigt:

x = 5
setzt x> 0 ? "positiv": x == 0 ? "Zero": "Negativ"

In diesem Fall testet die Abfrage den Wert von x gegen drei Bedingungen. Wenn der Wert größer als 0 ist, druckt der Code positiv aus. Wenn der Wert gleich Null ist, druckt der Code die Zeichenfolge Null aus. Und schließlich wird der Code „negativ drucken.”

Wir können auch das ternäre verwenden ? Operator in einer Methode und Variablennamen. Dies wird als „sicherer Navigationsoperator“ oder & & & & & & honorisch bezeichnet. Operator und es wird verwendet, um zu überprüfen, ob der Empfänger des Methodenaufrufs vor dem Aufruf der Methode nicht nil ist.

x = "Hallo"
X&.Upross # Hallo
y = nil
y &.oben # nil

Wir können den ternären Operator auch verwenden, um Wert wie nachstehend gezeigt zuzuweisen:

x = 5
y = x> 0 ? 1: -1

In diesem Fall hält y den Wert von 1.

Abschluss

Dies deckte die Grundlagen der Zusammenarbeit mit dem Ruby Ternary Operator ab, um verschiedene Operationen auszuführen. Es ist erwähnenswert, dass der ternäre Operator eine geringere Vorrang. Daher müssen Sie möglicherweise Klammern verwenden, um sicherzustellen, dass die Ausdrücke in der beabsichtigten Reihenfolge bewertet werden.

Obwohl der ternäre Operator für schnell eine bedingte Anweisung geeignet ist, bietet er keine gute Code -Lesbarkeit. Daher empfehlen wir die Verwendung des traditionellen wenn… sonst blockieren, wo nötig.