配列の重複を取得する
@tomorrowkey ブログ読んでて気になったんですけど、Arrayは&&をoverloadしてるのでこれで重複要素取れます! https://t.co/dkNFp9fW5Y https://t.co/5vChxCdXdF
— ぎぎにゃん@脱北者 (@giginet) November 7, 2015
たしかに〜
$ pry [1] pry(main)> Array(1..10) && Array(5..6) => [5, 6]
超簡単だった。
重複を除外するならuniq使えばいいけど、重複を取得するのはメソッドがなかった。
こんな感じに書けば重複した値が取得できる
$ pry [1] pry(main)> require 'active_support/all' => true [2] pry(main)> (Array(1..10) + Array(5..6)).group_by{|i| i}.reject{|k, v| v.one?}.keys => [5, 6]