Menu
CoddyTech

Unless-Anweisung

Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 25 von 88.

Ruby bietet eine besondere Möglichkeit, Bedingungen auszudrücken, wenn du Code nur ausführen möchtest, wenn etwas nicht wahr ist. Die Anweisung unless ist im Grunde das Gegenteil von if.

Mit if wird Code ausgeführt, wenn die Bedingung wahr ist. Mit unless wird Code ausgeführt, wenn die Bedingung false ist:

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

Das entspricht dem Schreiben von if !logged_in, aber unless liest sich oft natürlicher. Stell es dir als „Mach das, es sei denn, diese Bedingung ist wahr“ vor.

Du kannst unless auch mit else verwenden:

age = 20

unless age < 18
  puts "Access granted"
else
  puts "Access denied"
end

Wenn du jedoch einen else-Block benötigst, ist die Verwendung von if normalerweise klarer. Die Anweisung unless eignet sich besonders, wenn du eine einfache negative Bedingung ohne alternativen Pfad hast. Wähle die Variante, durch die dein Code auf einen Blick leichter lesbar ist.

challenge icon

Aufgabe

Einfach

Dir werden die folgenden Variablen bereitgestellt:

has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

Verwende unless-Anweisungen, um die folgenden Szenarien auszuwerten. Gib die angegebene Meldung nur aus, wenn die Bedingung falsch ist (dann wird der Block von unless ausgeführt).

  1. Wenn has_ticket nicht true ist, gib Please purchase a ticket aus.
  2. Wenn is_vip nicht true ist, gib VIP access required aus.
  3. Wenn items_in_cart nicht größer als 0 ist, gib Your cart is empty aus.
  4. Wenn battery_level nicht größer als 20 ist, gib Low battery warning aus.
  5. Wenn is_charging nicht true ist oder battery_level nicht größer als 50 ist, gib Please charge your device aus.

Jede Meldung sollte in einer eigenen Zeile erscheinen. Gib nur Meldungen aus, wenn die jeweilige Bedingung den unless-Block ausführt.

Probier es selbst

# Die Variablen sind bereits für dich definiert
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

# TODO: Schreibe deinen Code unten
# Verwende unless-Anweisungen, um jede Bedingung zu prüfen und die passende Meldung auszugeben
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 Grundlagen

Übe selbstständig: Online-Ruby-Compiler