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