Ruby 中的 map 方法
Nurudeen Ibrahim
2022年5月18日
map
方法是 Ruby 最流行的可枚举方法之一。它用于将数组转换为另一个数组。
示例代码:
numbers = [2, 4, 6]
doubles = numbers.map do |n|
n * 2
end
puts doubles
输出:
[4, 8, 12]
上面的代码映射了 numbers
数组,将每个元素乘以 2,并生成一个新的 doubles
数组。这就是 map
方法的工作原理。
请注意,还有一个 collect
方法,map
的别名,两者的工作方式相似。我们可以通过使用 collect
方法重写上述代码来证明这一点。
示例代码:
numbers = [2, 4, 6]
doubles = numbers.collect do |n|
n * 2
end
puts doubles
输出:
[4, 8, 12]
尽管 map
方法会生成一个新数组,但还有一个 map!
,它的工作方式与 map
相同,但也会改变原始数组。
示例代码:
numbers = [2, 4, 6]
doubles = numbers.map! do |n|
n * 2
end
puts doubles
puts numbers
输出:
[4, 8, 12]
[4, 8, 12]
查看上面的输出,你会注意到原始的 numbers
数组已发生变异,现在与 doubles
具有相同的值。