标签: ruby-on-rails ruby ruby-on-rails-3
为什么映射不会使用此函数更改数组:
array[1..5].map! { |part| "<p>#{part}</p>" }
我知道我可以将数组[1..5]分配给结果,但可能有更好的方法。
我该怎么做?
答案 0 :(得分:4)
[](*参数) 返回一个填充了给定对象的新数组。 Source
返回一个填充了给定对象的新数组。
Source
因此,您实际上是将map!应用于该范围的新数组,而不是实际数组。
map!
分配是必要的。
答案 1 :(得分:3)
嗯, 更改了数组。你只是没有看到它,因为你永远不会将数组分配给任何东西,所以它会立即被垃圾收集。