ルビーで列挙可能なリストの重複を削除する良い方法はありますか (つまり、拒否など)。
2960 次
4 に答える
10
配列の場合、 uniq() メソッドを使用できます
a = [ "a", "a", "b", "b", "c" ]
a.uniq #=> ["a", "b", "c"]
だからあなただけなら
(1..10).to_a.uniq
また
%w{ant bat cat ant}.to_a.uniq
とにかく、実装するほとんどすべてのメソッドが Array クラスとして返されるためです。
于 2009-09-06T15:25:26.727 に答える
2
戦略は、それらを配列に変換し、配列から重複を削除することです。ちなみに、リストはいずれにせよルビーの配列なので、「列挙可能なリスト」とはどういう意味かわかりません。
于 2009-09-06T14:00:50.130 に答える
2
要素の順序が重要でない場合は、セットへの変換を行うことができます。
于 2009-09-06T14:15:59.333 に答える
1
オブジェクトに .uniq メソッドがない場合は、set 論理演算子を使用するのが好きです。
a = [2,3,3,5,5,5,6] # => [2, 3, 3, 5, 5, 5, 6]
a | a # => [2, 3, 5, 6]
于 2012-04-20T04:37:37.197 に答える