我已經從變量所做的陣列,並且我想執行在每個相同的操作,並且將結果存儲在原始變量:更改值
(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]
這不看起來像這樣做的「正確方式」,但我並沒有設法找到「正確的方式」。對於發生了什麼,我也有一些模糊的想法,但我不太確定,所以我會讚賞解釋。
我的實際使用情況是,我有命名的參數,我e = File.new(e) if e.is_a? String
這不起作用。 「一」,「二」和「三」保持不變。 – 2013-05-13 21:42:32
你是對的,Darshan。更新了我的答案。 – 2013-05-13 22:23:58