Rubyの配列を集合として扱った時の操作がとてもわかりやすい(共通集合・和集合・集合の差)
配列の準備
ary1 = %w(a b c) # ["a","b","c"] ary2 = %w(b c d) # ["b","c","d"]
%wというのはパーセント記法と言うやつです。
これを使うと配列の定義が簡単にできます。
今回の場合は文字列を要素に持つ配列を作成しています。
共通集合
p (ary1 & ary2)
#=> ["b", "c"]
和集合その1
p (ary1 | ary2)
#=> ["a", "b", "c", "d"]
和集合その2
p (ary1 + ary2)
#=> ["a", "b", "c", "b", "c", "d"]
その1と違って重複を許してます。
単純に集合をくっつけている感じ。
差分
p (ary1 - ary2)
#=> ["a"]
これはほぼ見たまんま。
感想
すごく直感的にかけるので良い。