Menu
Coddy logo textTech

Ternärer Operator

Teil des Abschnitts Logik & Programmfluss der Ruby-Journey von Coddy. Lektion 40 von 56.

Der ternäre Operator ist eine einzeilige Kurzform für ein if/else, die einen Wert zurückgibt. Die Syntax lautet condition ? value_if_true : value_if_false.

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

Es ist dasselbe wie:

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

Verwende den ternären Operator, wenn beide Zweige kurze Werte zurückgeben. Wenn einer der Zweige mehr als einen Ausdruck benötigt, verwende stattdessen ein echtes if/else: Zu viel in einen ternären Operator zu packen, macht ihn schwer lesbar.

Du kannst es direkt innerhalb anderer Ausdrücke verwenden, einschließlich Interpolation:

count = 1
puts "#{count} item#{count == 1 ? "" : "s"}"   # 1 Element
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"   # 5 Elemente
challenge icon

Aufgabe

Einfach

Lies eine Ganzzahl n aus der Eingabe. Gib mithilfe des ternären Operators (ohne if/else-Blöcke) genau Folgendes aus:

<n> is <label>

wobei label Folgendes ist:

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

Hinweis: Verwende einen verschachtelten ternären Operator: condition ? a : (other_condition ? b : c).

Für die Eingabe 5 lautet die Ausgabe 5 is positive. Für 0 lautet sie 0 is zero.

Probier es selbst

n = gets.to_i

# TODO: verwende einen ternären Ausdruck, um das Label zu erstellen, dann puts
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Programmfluss

Übe selbstständig: Online-Ruby-Compiler