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"
endDies 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"
endWenn 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.
Aufgabe
EinfachIhnen werden die folgenden Variablen zur Verfügung gestellt:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseVerwenden 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).
- Sofern
has_ticketnichttrueist, geben SiePlease purchase a ticketaus - Sofern
is_vipnichttrueist, geben SieVIP access requiredaus - Sofern
items_in_cartnicht größer als0ist, geben SieYour cart is emptyaus - Sofern
battery_levelnicht größer als20ist, geben SieLow battery warningaus - Sofern nicht
is_chargingtrueist oderbattery_levelgrößer als50ist, geben SiePlease charge your deviceaus
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"
endDies 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"
endAllerdings 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 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 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch