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"
endDas 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"
endWenn 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.
Aufgabe
EinfachDir werden die folgenden Variablen bereitgestellt:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseVerwende 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).
- Wenn
has_ticketnichttrueist, gibPlease purchase a ticketaus. - Wenn
is_vipnichttrueist, gibVIP access requiredaus. - Wenn
items_in_cartnicht größer als0ist, gibYour cart is emptyaus. - Wenn
battery_levelnicht größer als20ist, gibLow battery warningaus. - Wenn
is_chargingnichttrueist oderbattery_levelnicht größer als50ist, gibPlease charge your deviceaus.
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 auszugebenDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechner zum Aufteilen der Rechnung
WillkommensnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array-Slicing mit BereichenArray-Slicing mit IndizesArray-OperatorenInclude?-Methode2Variablen und Datentypen
Zahlen und VariablenString-DatentypBoolean-DatentypSymbol-DatentypDatentypen überprüfenNamenskonventionenWiederholung – Variablen erstellen5Entscheidungsfindung
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerVerschachteltes If - ElseUnless-Anweisung8Schleifen
For-Schleife mit BereichenWhile-SchleifeBreakNextRückblick – FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische KurzschreibweisenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsDie chomp-MethodeTypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder FalschÜbe selbstständig: Online-Ruby-Compiler