InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
In Ruby werden sowohl nil als auch false verwendet, um das Konzept von "nichts" oder "Falschheit" darzustellen, aber sie haben unterschiedliche Rollen und Verhaltensweisen. Das Verständnis der Unterschiede zwischen ihnen ist wichtig für das Schreiben von verständlichem und effektivem Ruby-Code.
Merkmale des nil-Wertes
- Typ: nil ist eine Instanz der Klasse NilClass.
- Wert: Stellt das Fehlen eines Wertes oder "nichts" dar. Es wird häufig verwendet, um anzuzeigen, dass einer Variablen kein Wert zugewiesen wurde oder dass eine Methode kein Ergebnis zurückgegeben hat.
- Wahrhaftigkeit: nil wird in bedingten Ausdrücken als "falsch" angesehen. Das bedeutet, dass nil in einer if-Anweisung als falscher Wert interpretiert wird.
Zum Beispiel:
value = nil if value puts "Dieser Code wird nicht ausgeführt" else puts "Die Variable value ist nil" end
Ergebnis:
Die Variable value ist nil => nil
Merkmale des false-Wertes
Typ: false ist eine Instanz der Klasse FalseClass.
Wert: Stellt einen logischen falschen Wert dar. Wird in logischen Operationen verwendet, um anzuzeigen, dass eine Bedingung falsch ist.
Wahrhaftigkeit: false wird in bedingten Ausdrücken als "falsch" angesehen. Das bedeutet, dass false in einer if-Anweisung als falscher Wert interpretiert wird.Zum Beispiel:
value = false if value puts "Dieser Code wird nicht ausgeführt" else puts "Die Variable value ist false" end
Ergebnis:
Die Variable value ist false => nil
Warum sehen wir nil nach dem gedruckten Text? Lesen Sie im Beitrag - Warum gibt Ruby nil nach der Ausführung von puts zurück?
Der Hauptunterschied zwischen nil und false liegt in ihrer Bedeutung und Verwendung. nil bedeutet das Fehlen eines Wertes oder "nichts", während false logische Falschheit bedeutet. Beide Werte werden in bedingten Ausdrücken als falsch angesehen, aber ihre Bedeutung und Verwendung unterscheiden sich. Dies ermöglicht es, Situationen zu unterscheiden, in denen eine Variable keinen Wert hat (nil) und in denen eine Bedingung logisch falsch ist (false).
Das heißt, nil wird verwendet, um Leere zu beschreiben. False wird verwendet, um Falschheit zu kennzeichnen.
- Wenn wir ein falsches Ergebnis der Validierung is_valid? zurückgeben müssen, sollten wir false zurückgeben.
- Wenn wir einen Wert löschen müssen - verwenden wir nil.
- In einem bedingten Ausdruck geben sowohl nil als auch false ein falsches Ergebnis zurück.
Überprüfen wir:
def check_value(value)
if value
puts "Der Wert ist wahr"
else
puts "Der Wert ist falsch (nil oder false)" # Dies wird für nil und false ausgegeben
end
end
check_value(nil) # Gibt aus: Der Wert ist falsch (nil oder false)
check_value(false) # Gibt aus: Der Wert ist falsch (nil oder false)
check_value(true) # Gibt aus: Der Wert ist wahr
check_value(1) # Gibt aus: Der Wert ist wahr
check_value("Hello")# Gibt aus: Der Wert ist wahr
In der Beschreibung der Werte haben wir NilClass und FalseClass erwähnt. Ich persönlich habe noch nie gesehen, dass diese Klassen bei der Arbeit mit Ruby berührt werden, aber lassen Sie uns sie aus rein akademischen Gründen betrachten.
FalseClass
FalseClass ist eine eingebaute Klasse in Ruby, die logische Falschheit darstellt. In Ruby werden nur zwei Werte in bedingten Ausdrücken als falsch angesehen: false und nil. Hier sind einige wichtige Punkte:
- In Ruby ist false die einzige Instanz der Klasse FalseClass. Das bedeutet, dass alle Variablen, die den Wert false haben, auf dasselbe Objekt verweisen. Über immediate values haben wir bereits ausführlicher hier geschrieben.
- Der Wert false wird häufig in logischen Operationen und bedingten Ausdrücken verwendet, um eine falsche Bedingung anzuzeigen.
- Die Klasse FalseClass hat mehrere Methoden, darunter die häufigsten &, | und ^ zur Durchführung logischer Operationen.
is_valid = false puts is_valid.class # => FalseClass # Verwendung in einem bedingten Ausdruck if is_valid puts "Dieser Code wird nicht ausgeführt" else puts "is_valid ist false" # Dies wird ausgegeben end # Logische Operationen puts false & true # => false puts false | true # => true puts false ^ true # => true
Also speichert FalseClass den Wert false und hat auch Methoden zur Durchführung logischer Operationen.
NilClass
NilClass ist ebenfalls eine eingebaute Klasse in Ruby, die das Fehlen eines Wertes oder "nichts" darstellt.
- In Ruby ist nil die einzige Instanz der Klasse NilClass. Das bedeutet, dass alle Variablen, die den Wert nil haben, auf dasselbe Objekt verweisen.
- Der Wert nil wird häufig verwendet, um das Fehlen eines Wertes oder einen undefinierten Zustand anzuzeigen.
- Die Klasse NilClass hat mehrere Methoden, einschließlich nil?, die immer true für das Objekt nil zurückgibt, sowie Methoden zur Umwandlung in andere Typen (to_s, to_i, to_f).
NilClass Instance methods: &, ===, =~, ^, inspect, nil?, rationalize, to_a, to_c, to_d, to_f, to_h, to_i, to_r, to_s, |
Beispiel für die Interaktion mit NilClass
value = nil puts value.class # => NilClass # Verwendung in einem bedingten Ausdruck if value puts "Dieser Code wird nicht ausgeführt" else puts "value ist nil" # Dies wird ausgegeben end # Methoden der Klasse NilClass puts nil.nil? # => true puts nil.to_s # => "" puts nil.to_i # => 0 puts nil.to_f # => 0.0
NilClass ist notwendig, um mit dem Wert nil zu arbeiten (ähnlich wie bei FalseClass).
Dieser Beitrag hat noch keine Ergänzungen vom Autor.