2012-01-23 251 views
0

可能重複:
How to count duplicates in Ruby Arrays
Ruby: Compare 2 arrays for matches, and count the number of match instances陣列比較

我開始使用紅寶石語言。假設我有兩個數組:

a=["A", "B", "C", "D"] 
b=["C", "A", "X", "Y", "F"] 

我想計算兩個數組中重複元素的數量。爲了達到這個目的,我想出的想法如下:

nr_of_duplicates = (a- (a - b)).size 

有沒有更好的方法來實現這個目標?

+1

http://stackoverflow.com/questions/5013880/ruby-compare-2-arrays-for-火柴和計數的用戶號碼的匹配-情況下,這可能幫助ü的答覆 –

+0

http://stackoverflow.com/questions/1765368/how-to-count-duplicates-in-ruby-arrays另一個達到相同的效果 –

+1

「這更像是一個討論而不是問題」是一個關閉的原因。我會爲你擺脫它,因爲這個問題不是討論,而是尋找最佳方法。 – paxdiablo

回答

3

已經有在Array類定義的這個方法被稱爲 '&':

ary & other_ary → new_ary 

Set Intersection—Returns a new array containing elements common to the two arrays, with no duplicates. 

    [ 1, 1, 3, 5 ] & [ 1, 2, 3 ] #=> [ 1, 3 ] 
+0

謝謝,這是一個很好的一個。 –