def method
a = 3
b = 4
some_method_that_gives # [a, b]
end
22
A
Antwort
39
Es gibt Array von Symbolen, Variablen präsentiert. In Ihrem Fall: [:a, :b]
4
local_variables
listet lokale Variablen auf, aber listet sie auf, bevor sie definiert sind. Siehe dazu:
p local_variables
a = 1
p local_variables
diese Ausgänge
[:a]
[:a]
was nicht sein kann, was Sie erwarten. Kontrast mit defined?
p defined? a
a = 1
p defined? a
, die gibt die mehr erwarteten
nil
"local-variable"
Kann nicht glauben, ich habe es nicht vor finden. Vielen Dank! – Cheng
Einige Versionen von Ruby geben ein Array von Strings statt eines Arrays von Symbolen aus. Ruby 2.0 und 1.9 verwenden Symbole, aber Ruby 1.8.7 verwendete Strings. – inquiryqueue