Menu
Coddy logo textTech

Unless-Anweisung

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

Ruby bietet eine einzigartige Möglichkeit, Bedingungen auszudrücken, wenn Sie Code nur dann ausführen möchten, wenn etwas nicht wahr ist. Die unless-Anweisung ist im Wesentlichen das Gegenteil von if.

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

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

Dies ist gleichbedeutend mit dem Schreiben von if !logged_in, aber unless liest sich oft natürlicher. Stellen Sie es sich so vor: „tue dies, es sei denn, diese Bedingung ist wahr“.

Du kannst auch unless mit else verwenden:

age = 20

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

Wenn Sie jedoch einen else-Block benötigen, ist die Verwendung von if normalerweise klarer. Die unless-Anweisung glänzt, wenn Sie eine einfache negative Bedingung ohne einen alternativen Pfad haben. Wählen Sie das, was Ihren Code auf einen Blick leichter lesbar macht.

challenge icon

Aufgabe

Einfach

Ihnen werden die folgenden Variablen zur Verfügung gestellt:

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

Verwenden Sie unless-Anweisungen, um jedes der folgenden Szenarien zu bewerten. Geben Sie die angegebene Nachricht nur aus, wenn die Bedingung falsch ist (was der Fall ist, wenn unless seinen Block ausführt).

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

Jede Nachricht sollte in einer eigenen Zeile erscheinen. Geben Sie nur Nachrichten für Bedingungen aus, die den unless-Block auslösen.

Spickzettel

Die unless-Anweisung führt Code aus, wenn eine Bedingung falsch ist, was sie zum Gegenteil von if macht:

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

Dies entspricht if !logged_in, liest sich aber oft natürlicher.

Sie können unless mit else verwenden:

age = 20

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

Allerdings wird unless am besten für einfache negative Bedingungen ohne einen else-Block verwendet. Wenn Sie einen alternativen Pfad benötigen, ist if normalerweise klarer.

Probier es selbst

# 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 entsprechende Nachricht 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