compact 是一個用於陣列的方法。它返回一個新的陣列,其中移除了所有的 nil 元素。換句話說,它會將原始陣列中的 nil 元素過濾掉,並返回一個只包含非 nil 元素的新陣列。
array = [1, nil, 2, nil, 3, 4, nil, 5]
new_array = array.compact
puts new_array.inspect #[1, 2, 3, 4, 5]
map 是對集合裡的每個元素進行運,得到一個新的陣列
list = [1, 2, 3, 4, 5, 6]
p list.map { |x| x * 2 }
p list.collect { |x| x * 2 }
p (1..10).map { |x| x * 2}
#印出[2, 4, 6, 8, 10, 12]