Demo (Tôi hy vọng kết quả [3]
):Làm thế nào để làm sane "thiết lập sự khác biệt" trong Ruby?
[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!
Và:
[1,2,9] - [1,2,3] => [9] # Hmm. Would like [[9],[3]]
như thế nào để thực hiện một sự khác biệt thiết thực không phân biệt thứ tự của các yếu tố đầu?
Ps. Là một sang một bên, tôi cần phải làm điều này cho hai mảng phần tử 2000. Thông thường, mảng # 1 sẽ có ít phần tử hơn mảng # 2, nhưng điều này không được đảm bảo.
+1, câu trả lời hay. Tôi đã thêm Array #^vào [thư viện tiện ích mở rộng] của tôi (http://rubydoc.info/gems/shenanigans/1.0.4/Array#%5E-instance_method), không phải lúc nào cũng cần phải trải qua các bộ. –