【发布时间】:2018-12-20 16:40:24
【问题描述】:
这段代码有什么区别:
p arr = [1, 2, 3, 4, 5]
p arr.map! { |a| a + 2 }
还有这段代码?
arr = [1, 2, 3, 4, 5]
new_arr = []
arr.each do |n|
new_arr << n + 2
end
p arr
p new_arr
它们都得出相同的答案。它们只是实现相同解决方案的两种不同方式,还是存在流程或应用差异?
【问题讨论】:
-
第一种方法在原地修改
arr,而第二种方法创建新数组-因此第二种方法需要内存分配,因此会更慢。除此之外你没有太大区别
标签: ruby