Logische Operatoren Teil 4
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 20 von 88.
Wenn Sie mehrere logische Operatoren in einem einzigen Ausdruck kombinieren, wertet Ruby diese in einer bestimmten Reihenfolge aus, die auf der Operatorrangfolge basiert. Das Verständnis dieser Reihenfolge hilft Ihnen dabei, korrekte Bedingungen zu schreiben und unerwartete Ergebnisse zu vermeiden.
Die Rangfolge von der höchsten zur niedrigsten ist: ! (nicht), dann && (und), dann || (oder). Das bedeutet, dass ! zuerst ausgewertet wird, gefolgt von && und schließlich ||:
true || false && false # true (&& wird zuerst ausgewertet)
# Entspricht: true || (false && false)
!false && true # true (! wird zuerst ausgewertet)
# Entspricht: (!false) && trueSie können Klammern verwenden, um die Standard-Rangfolge zu überschreiben und Ihre Absichten deutlich zu machen:
(true || false) && false # false (Klammern erzwingen zuerst ||)
true || (false && false) # true (Standardverhalten)Selbst wenn Klammern nicht unbedingt erforderlich sind, macht ihr Hinzufügen komplexe Ausdrücke oft einfacher zu lesen. Im Zweifelsfall sollten Sie Klammern verwenden, um explizit zu zeigen, wie Bedingungen gruppiert werden sollen.
Aufgabe
EinfachDir sind die folgenden Variablen gegeben:
x = true
y = false
z = true
a = falseWerte die folgenden Ausdrücke aus und gib jedes Ergebnis in einer eigenen Zeile aus. Achte auf die Operatorrangfolge: ! wird zuerst ausgewertet, dann && und zuletzt ||.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(x && y) || z
Jede Ausgabe sollte entweder true oder false sein.
Spickzettel
Ruby wertet logische Operatoren in einer bestimmten Reihenfolge aus, basierend auf der Operatorrangfolge:
!(nicht) - höchste Rangfolge&&(und) - mittlere Rangfolge||(oder) - niedrigste Rangfolge
Beispiele für die Operatorrangfolge:
true || false && false # true (&& wird zuerst ausgewertet)
# Entspricht: true || (false && false)
!false && true # true (! wird zuerst ausgewertet)
# Entspricht: (!false) && trueVerwenden Sie Klammern, um die Standardrangfolge zu überschreiben oder die Lesbarkeit zu verbessern:
(true || false) && false # false (Klammern erzwingen || zuerst)
true || (false && false) # true (Standardverhalten)Probier es selbst
# Variablen sind bereits für dich definiert
x = true
y = false
z = true
a = false
# TODO: Werte jeden Ausdruck aus und gib das Ergebnis in einer separaten Zeile aus
# Beachte die Operatorrangfolge: zuerst !, dann &&, dann ||
# 1. x || y && z
puts # dein Ausdruck hier
# 2. !y && z
puts # dein Ausdruck hier
# 3. x && y || z
puts # dein Ausdruck hier
# 4. !a || y && z
puts # dein Ausdruck hier
# 5. x && !y && z
puts # dein Ausdruck hier
# 6. (x || y) && a
puts # dein Ausdruck hier
# 7. x || (y && a)
puts # dein Ausdruck hier
# 8. !(x && y) || z
puts # dein Ausdruck hierDiese 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