Rubyで2つの配列の差分をさっさと知る方法（集合）


ベン図みたいのを知りたい時

[code]

    p (array1 | array2).size
    p (array1 & array2).size
    p (array1 - (array1 & array2)).size
    p (array2 - (array1 & array2)).size
    
[/code]

ってやってるけど、もっと賢い方法を知らないだけの気がしています。  
なにかオススメの方法はありますでしょうか？

また、配列が2つ以上のときでもオススメの方法とかもありますか？




とりあえず「集合 `a` に含まれていて集合 `b` に含まれない要素の数」を求めるのに `(a - (a & b)).size` は冗長で、

[code]

    (a - b).size
    
[/code]

とするだけで求まります。




とりあえず「集合 `a` に含まれていて集合 `b` に含まれない要素の数」を求めるのに `(a - (a & b)).size` は冗長で、

[code]

    (a - b).size
    
[/code]

とするだけで求まります。

