Die Standardmethode wäre so etwas wieWie ruft man eine Funktion auf, die eine Variable in Ruby verändert?
foo = bar(foo)
sein Aber ich würde eine Art gefällt, wie einfach
bar(foo)
zu schreiben, die den Wert von foo
wie die erste Zeile ändern würde. In C++ konnte ich das mit Zeigern machen, aber mit Ruby weiß ich nicht wie.
Ruby hat keine Zeiger, also können Sie solche Dinge hier nicht tun. –
Sie können Dinge wie 'def m (s) sagen; s.gsub! (...); end', um ein Argument zu ändern, obwohl Ruby pass-by-value ist (wobei die Werte Referenzen sind). Du kannst auch hässliche Dinge wie 'h [: arg] = 6; m (h) 'und enden mit einem anderen' h [: arg] '. Nicht empfohlen, aber manchmal sind unangenehme Dinge notwendig. –