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