Znaczenie podwójnego znaku zapytania w Ruby

Znaczenie podwójnego znaku zapytania w Ruby
Podczas pracy z bazami kodu Ruby możesz napotkać składnię, która używa podwójnych znaków pytań. W tym samouczku podsumujemy, co oznaczają ci operatorzy i jak działają w kontekście użytkowania.

Rubin? Operator

W Ruby, ? Operator jest operatorem trójskładnikowym. Jest używany jako stenografia dla… else oświadczenie. Składnia jest następująca:

stan ? Action_if_true: Action_if_false

W takim przypadku warunek jest oceniany jako prawdziwa lub fałsz. Jeśli warunek jest prawdziwy, wyrażenie przed: jest wykonywane. W przeciwnym razie wyrażenie po: jest wykonywane.

Możemy to wykazać, używając przykładu, jak pokazano poniżej:

x = 5
umieszcza x> 0 ? "pozytywny Negatywny"

W takim przypadku kod sprawdzi, czy wartość x jest większa niż 0. Jeśli to prawda, blok będzie wydrukować pozytywnie. W przeciwnym razie wydrukuje negatyw.

IRB (Main): 002: 0> umieszcza x> 0 ? "pozytywny Negatywny"
pozytywny
=> zero

Ten sam przypadek ma zastosowanie, jeśli wartość jest ujemna, jak pokazano:

IRB (Main): 003: 0> x = -5
IRB (Main): 004: 0> umieszcza x> 0 ? "pozytywny Negatywny"
negatywny
=> zero

Możesz także łańcuch wiele warunków za pomocą ? Operator, jak pokazano w poniższym przykładzie:

x = 5
umieszcza x> 0 ? „Pozytywny”: x == 0 ? „Zero”: „Negatywne”

W takim przypadku zapytanie przetestuje wartość x według trzech warunków. Jeśli wartość jest większa niż 0, kod wydrukuje dodatnie. Jeśli wartość jest równa zero, kod wydrukuje ciąg zero. I wreszcie, jeśli żaden z tych warunków nie jest prawdziwy, kod nie wydrukuje „negatywne."

Możemy również użyć trójskładnikowej ? operator w metodzie i nazwach zmiennych. To określane jako „Bezpieczny operator nawigacji” lub i. operator i służy do sprawdzenia, czy odbiornik wywołania metody nie jest zerowy przed wywołaniem metody.

x = "Hello"
X&.Upcase # Witaj
y = zero
y &.Upcase # zero

Możemy również użyć operatora trójskładnikowego do przypisania wartości, jak pokazano poniżej:

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

W takim przypadku y będzie utrzymywał wartość 1.

Wniosek

Obejmowało to podstawy współpracy z Ruby Ternie Operatorem w celu wykonania różnych operacji. Warto zauważyć, że operator trójskładnik ma niższe pierwszeństwo niż większość innych operatorów w Ruby. Stąd może być konieczne użycie nawiasu, aby upewnić się, że wyrażenia są oceniane w zamierzonej kolejności.

Chociaż operator trójskładnikowy jest odpowiedni do szybkiego skonfigurowania instrukcji warunkowej, nie zapewnia dobrej możliwości kodu. Dlatego zalecamy użycie tradycyjnego, jeśli… w razie potrzeby blok.