我在找出正确的方法时遇到了一些麻烦:
我有一个数组和一个单独的数组数组,我想与第一个数组进行比较。第一个数组是一个特殊的Enumerable
对象,它恰好包含一个数组。
逻辑告诉我,我应该能够做到这一点:
[1,2,3].delete_if do |n|
[[2,4,5], [3,6,7]].each do |m|
! m.include?(n)
end
end
我希望返回 => [2,3]
但它[]
反而返回。
如果我这样做,这个想法就会奏效:
[1,2,3].delete_if do |n|
! [2,4,5].include?(n)
end
它会回来
=> [2]
我不能将值分配给另一个对象,因为[1,2,3]
数组必须保留其特殊Enumerable
对象。我敢肯定,对此的解释比我尝试的要简单得多。有人有什么想法吗?