14
演示(我希望結果[3]
):如何在Ruby中理解「set-difference」?
[1,2] - [1,2,3] => [] # Hmm
[1,2,3] - [1,2] => [3] # I see
a = [1,2].to_set => #<Set: {1, 2}>
b = [1,2,3].to_set => #<Set: {1, 2, 3}>
a - b => #<Set: {}> WTF!
和:
[1,2,9] - [1,2,3] => [9] # Hmm. Would like [[9],[3]]
如何之一,無論執行的輸入順序真正集區別?
Ps。順便說一下,我需要爲兩個2000個元素的數組執行此操作。通常情況下,數組#1的元素少於數組#2,但不能保證。
+1,很好的答案。我將Array#^添加到了我的[擴展庫](http://rubydoc.info/gems/shenanigans/1.0.4/Array#%5E-instance_method),但並不總是需要通過集合。 –