juste curieux pourquoi je ne peux pas enlever la variable locale déclarée du tableau 'local_variables'.Comportement des variables locales - quelqu'un peut-il expliquer?
Exemple:
x=1
myarr = local_variables.clone
p local_variables
=> [:x, :_]
p myarr
=> [:x, :_]
p local_variables.class
=> Array
p myarr.class
=> Array
myarr.delete :x
p myarr
=> [:_]
local_variables.delete :x
p local_variables
=> [:x, :_]
WTF?
J'ai suspecté d'appeler local_variables.delete avec le paramètre: x le réinsère lorsqu'il est déclaré à nouveau. Mais s'il est appelé avec un autre symbole précédemment non déclaré ne le change pas:
p local_variables
=> [:x, :_]
local_variables.delete :whatever
p local_variables
=> [:x, :_]
Quelqu'un peut-il expliquer?
Thx.
Je vois, c'est juste une méthode retournant une instance de tableau. C'est une explication. Je vous remercie. –
Il se contente de poser une question sur la façon de déterminer de façon programmatique à l'exécution si un symbole est une variable ou une méthode. Cela doit être possible parce que l'interprète Ruby doit savoir comment le gérer. –
@David: 'variables_sales.include? (Symbole)' – sepp2k