Ist eine undefinierte Variable in Ruby gleich null? - Rubin

Ich habe Fehler als undefined variable, Ich kenne nil wird bewertet zu false wenn als Boolean verwendet:

if y
puts "Something"
end

Antworten:

12 für die Antwort № 1

Nicht definierte Variable ist nicht gleich Null.

Nicht definiert Beispiel Variable gibt nil zurück (auch wenn es nicht definiert ist).

y löst eine Ausnahme aus

@y gibt null zurück


9 für die Antwort № 2

Nein, Sie erhalten einen Fehler undefined local variable or method. Aber wenn Sie überprüfen möchten, ob etwas definiert ist oder nicht, können Sie verwenden defined? Methode so

if defined?(my_var)
print "defined"
else
print "not defined"
end

3 für die Antwort № 3

Da ist eine leichte Falte. Versuchen Sie Folgendes:

if 5 == 0
y = "hi"
end

puts "hello" if y

y wurde im if-Block "definiert". Entferne diesen Block und dies gibt einen Fehler.