Ruby で配列の共通部分、結合部分、部分集合を取得するにはどうすればよいでしょうか? 質問する

Ruby で配列の共通部分、結合部分、部分集合を取得するにはどうすればよいでしょうか? 質問する

というクラスに異なるメソッドを作成したいのですがマルチセット

必要なメソッドはすべてありますが、交差、結合、サブセットのメソッドの書き方がわかりません。

交差と結合の場合、コードは次のように始まります。

def intersect(var)
  x = Multiset.new
end

次に例を示します。

X = [1, 1, 2, 4]
Y = [1, 2, 2, 2]

Xとの交点はYです[1, 2]

ベストアンサー1

Xと は配列だと思いますかY? もしそうなら、これを行う非常に簡単な方法があります:

x = [1, 1, 2, 4]
y = [1, 2, 2, 2]

# intersection
x & y            # => [1, 2]

# union
x | y            # => [1, 2, 4]

# difference
x - y            # => [4]

ソース

おすすめ記事