私は2つの配列を持っています
a = [1, 2, 3, 4, 5]
b = [2, 4, 6]
2つの配列をマージしてから、他の配列と同じ値を削除します。結果は次のようになります。
c = [1, 3, 5, 6]
2つの配列を減算しようとしましたが、結果は[1、3、5]です。また、最初の配列と重複していない2番目の配列から値を取得したい。
次のことができます!
# Merging
c = a + b
=> [1, 2, 3, 4, 5, 2, 4, 6]
# Removing the value of other array
# (a & b) is getting the common element from these two arrays
c - (a & b)
=> [1, 3, 5, 6]
ドミトリのコメントも同じですが、私は独自にアイデアを思いつきました。
つかいます Array#uniq
。
a = [1, 3, 5, 6]
b = [2, 3, 4, 5]
c = (a + b).uniq
=> [1, 3, 5, 6, 2, 4]
これはどう。
(a | b)
=> [1, 2, 3, 4, 5, 6]
(a & b)
=> [2, 4]
(a | b) - (a & b)
[1, 3, 5, 6]
2つの配列を持ちましょう
p = [1, 2, 5, 4, 8, 9]
q = [5, 6, 4, 8, 5, 3]
(p+q).uniq or (p.concat(q)).uniq
=> [1, 2, 5, 4, 8, 9, 6, 3]
また、p|q
仕事をすることができます!どちらがあなたに合っているかを決めてください。
Set.new([1,2,3]+[1,4,5])
はどうですか? [1,2,3,4,5]
を返します