j'ai un tableau fait à partir de variables, et je veux effectuer la même opération sur chaque, et stocker le résultat dans la variable d'origine :Modifier les valeurs des variables dans le tableau
(one, two, three) = [1, 2, 3]
[one, two, three].map!{|e| e += 1}
# => [2, 3, 4]
# But:
[one, two, three]
# => [1, 2, 3]
# You have to:
(one, two, three) = [one, two, three].map{|e| e += 1}
# => [2, 3, 4]
[one, two, three]
# => [2, 3, 4]
Cela ne semble être la «bonne façon» de le faire, mais je n'arrive pas à trouver cette «bonne façon». J'ai aussi des idées vagues sur ce qui se passe, mais je ne suis pas trop sûr, alors une explication serait appréciée.
Mon cas réel d'utilisation est que j'ai nommé paramètres et je suis e = File.new(e) if e.is_a? String
Cela ne fonctionne pas. 'one',' two' et 'three' restent inchangés. –
Vous avez raison, Darshan. Mise à jour ma réponse –