0

为什么映射不使用此函数更改数组:

array[1..5].map! { |part| "<p>#{part}</p>" }

我知道我可以将 array[1..5] 分配给结果,但可能有更好的方法来做到这一点。

我该怎么做?

4

2 回答 2

4

[](*args)

返回一个填充了给定对象的新数组。

资源

因此,您实际上是在应用map!该范围的新数组,而不是实际数组。

分配是必要的。

于 2012-08-17T12:41:45.553 回答
3

好吧,它确实改变了数组。您只是没有看到它,因为您从未将数组分配给任何东西,因此它将立即再次被垃圾收集。

于 2012-08-17T12:42:30.767 回答