Je suis au milieu de l'apprentissage Ruby et pensé que j'étais intelligent avec le morceau de code suivant:Modification des variables de niveau du module dans un tableau anonyme en Ruby
[@start,@end].map!{ |time| time += operation == :add ? amount : -(amount) }
où @Start, @end sont deux niveaux de module variables, l'opération peut être l'une des suivantes: add ou: sub, et amount est une quantité flottante pour ajuster à la fois @start et @end by. En accordant cela me sauve seulement une ligne de code, mais pourquoi cette approche ne fonctionne-t-elle pas, et comment puis-je obtenir quelque chose de similaire?
(Mon résultat attendu est pour @ start/@ end à modifier en conséquence, mais les tests unitaires montrent qu'ils restent à leurs valeurs d'origine.)
Super, merci. Les hypothèses ne s'appliquent tout simplement pas à Ruby. – cfeduke