each, map, collect
arr = [1,2,3]
1) arr2 = arr.each{|element| element = element * 2}
#arr与arr2仍然都等于[1,2,3]?? each返回原数组 遍历内对元素的更改不会保存
2) arr2 = arr.map{|element| element = element* 2}
#arr等于[1,2,3] arr2等于[2,4,6] map返回更改后的数组 遍历内对元素的更改不会保存
3) arr2 = arr.map!{|element| element = element * 2}
#arr与arr2都等于[2,4,6] map!返回更改后的数组 遍历对元素内的更改会保存
collect 效果等于 map
collect! 效果等于map!
to_a方法
entries
to_set #使用时需要require 'set'