2011-01-11 10 views
4

2つの配列(リスト)を持ち、両方の配列に共通の値の配列(リスト)を取得したいときにRubyに使用できるメソッドがありますか?このように..2つのリストの共通値のメソッド

a = [1,2,3] 
b = [3,4,5] 
=> the method would return [3] 

これらの配列(リスト)では「ユニーク」な値があります。

a = [1,2,3] 
b = [3,4,5] 
=> the method would return [1,2,4,5] 

答えて

2
AND : a & b 

は、Rubyで配列のためのXOR方法はありません。 2つの方法があります:

XOR : (a | b) - (a & b) 
XOR : (a + b) - (a & b) # this result can have duplicates! 

XOR : (a - b) | (b - a) 
XOR : (a - b) + (b - a) # this result can have duplicates! 
+0

本当に2ではないでしょうか方法は? :) –

2

あなたが探している言葉は、交差点対称差です。私の知る限りでは、これはRubyであります:あなたは別の方法を介してそれを行うことができますので、

[1,2,3] & [3,4,5] = [3] 
[1,2,3]^[3,4,5] = [1,2,4,5] 
+1

^セットでのみ動作します。しかし、 '' Set [1,2,3]^Set [3,4,5])to_a' – philosodad

+1

aka(array1.to_set^array2.to_set).to_a –

関連する問題