我只是在学习Ruby,所以对于这里的新手来说,我很抱歉,但是我不能从镐书中解决这个问题(可能只是不够仔细阅读)。 无论如何,如果我有这样一个数组:如何在Ruby中对它进行迭代时修改数组?
arr = [1,2,3,4,5]
...我想,说,乘以3的阵列中的每个值,我曾指出,执行以下操作:
arr.each {|item| item *= 3}
...不会给我我想要的东西(我明白为什么,我不修改数组本身)。
我没有得到的是如何在迭代器之后从代码块内部修改原始数组。我相信这很容易。
如果你确实需要修改每个元素,使用map肯定会更优雅,imho。 – fresskoma 2009-11-21 00:13:39
如果你想修改数组本身使用map!而不是 – 2009-11-21 10:54:39