破壊的メソッドがnilを返す場合
参考
p f = [1,3,2, "2", "3" ] p g = f.uniq {|n|n.to_s} p f.object_id p g.object_id # [1, 3, 2, "2", "3"] # [1, 3, 2] # 70291846447480 # 70291846447180 p d = [1,3,2, "2", "3" ] p e = d.uniq! {|n|n.to_s} p d.object_id p e.object_id p d # [1, 3, 2, "2", "3"] # [1, 3, 2] # 70291846471400 # 70291846471400 # [1, 3, 2,] # dの配列を破壊的に変更 p a = [1,3,2, "2", "3" ] p b = a.uniq p a.object_id p b.object_id # [1, 3, 2, "2", "3"] # [1, 3, 2, "2", "3"] # 70291846470860 # 70291846470660 p b = [1,1,3,2, "2", "3" ] p c = b.uniq! p b.object_id p c.object_id p b # [1, 1, 3, 2, "2", "3"] # [1, 3, 2, "2", "3"] # 70327296121140 # 70327296121140 # [1, 3, 2, "2", "3"] p a = [1,3,2, "2", "3" ] p b = a.uniq! p a.object_id p b.object_id # [1, 3, 2, "2", "3"] # nil 重複する要素がない戻り値 # 70291846470320 # 8 # [1, 3, 2, "2", "3"]