Ruby 中的 map 方法

Nurudeen Ibrahim 2022年5月18日
Ruby 中的 map 方法

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 具有相同的值。

相关文章 - Ruby Map