Menu
Coddy logo textTech

Operator trójargumentowy

Część sekcji Logika i przepływ programu ścieżki Ruby w Coddy. Lekcja 40 z 56.

Operator trójargumentowy to jednolinijkowy skrót dla if/else, który zwraca wartość. Składnia to condition ? value_if_true : value_if_false.

age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"
puts status   # Eligible

To to samo, co napisanie:

status = if age >= 18
           "Eligible"
         else
           "Not Eligible"
         end

Używaj operatora warunkowego, gdy obie gałęzie zwracają krótkie wartości. Jeśli którakolwiek gałąź wymaga więcej niż jednego wyrażenia, użyj zwykłego if/else: umieszczanie zbyt dużej ilości kodu w operatorze warunkowym utrudnia jego czytanie.

Możesz używać go bezpośrednio wewnątrz innych wyrażeń, w tym interpolacji:

count = 1
puts "#{count} item#{count == 1 ? "" : "s"}"   # 1 przedmiot
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"   # 5 przedmiotów
challenge icon

Wyzwanie

Łatwy

Wczytaj z wejścia liczbę całkowitą n. Używając operatora trójargumentowego (bez bloków if/else), wypisz dokładnie:

<n> is <label>

gdzie label ma wartość:

  • positive, gdy n > 0
  • negative, gdy n < 0
  • zero, gdy n == 0

Podpowiedź: użyj zagnieżdżonego operatora trójargumentowego: condition ? a : (other_condition ? b : c).

Dla wejścia 5 wynikiem jest 5 is positive. Dla 0 wynikiem jest 0 is zero.

Spróbuj swoich sił

n = gets.to_i

# TODO: użyj wyrażenia trójargumentowego, aby utworzyć etykietę, a następnie użyj puts
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Ruby online