一部の値が重複してる配列があるとする。この中から重複しているものを取り出したい。 ary = [1, 2, 3, 4, 5, 5, 6, 6, 7, 7] こんな感じ ary.select{ |e| ary.count(e) > 1 }.uniq # => [5, 6, 7] 速い方法 ハッシュを作るので使うメモリは増えるが、先程の方法と違ってループアンドループしないのでこっちの方が速い。 ary.group_by{ |e| e }.select { |k, v| v.size > 1 }.map(&:first) # => [5, 6, 7] 単に重複があるかどうかチェックしたい場合 (ary.count - ary.uniq.count) > 0 => true 配列の積集合や和集合 ary = [1, 2, 3, 4, 5, 5, 6, 6, 7, 7]; ary2 = [1, 2,
![Ruby: 配列で重複してるものを探す - 宇宙船サンドボックス](https://cdn-ak-scissors.b.st-hatena.com/image/square/2985b59f312a6b8fcddbc8bb53d23af45f453bc8/height=288;version=1;width=512/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F41CGDEMgyoL._SL160_.jpg)