2

これが答えだと思いましたが、それでも3つは残っています。

array.uniq
# => ["0", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "3"] 
4

3 に答える 3

7

uniq一意性をチェックする目的でアイテムを変換するために使用できるブロックを渡すことができます。

array.uniq {|i| i.to_s}
于 2012-12-07T04:01:13.993 に答える
2

比較のために、要素を整数 (または文字列) に変換する必要があります。

array.map(&:to_i).uniq
于 2012-12-07T04:01:22.900 に答える
-1

たぶん、以下のメソッドを調べることができます

  ruby-1.9.3-p0 :020 > arr = ["0", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "3"]
  => ["0", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "3"] 
  ruby-1.9.3-p0 :021 > arr.map(&:to_i).uniq
  => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
  ruby-1.9.3-p0 :022 > arr.uniq(&:to_i)
  => ["0", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
  ruby-1.9.3-p0 :023 > arr.uniq(&:to_s)
  => ["0", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
于 2012-12-07T06:04:18.697 に答える