Forum: Ruby Is there a quick way to compare two arrays and ....

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Victor R. (Guest)
on 2006-01-09 22:54
(Received via mailing list)
I have two arrays of different sizes.
Right now via find_all I can find all the elements that are common to
both
arrays.
All the elements in the smaller arrays can be found in the larger array.

What I would like to find now is all th elements that are in the larger
array and missing on the smaller array.
I know I can iterate and compare each element within a nested loop.
But is there a way to print out the elements that are missing from the
smaller array without having to implement a nested loop?

Thank you

Victor
Ezra Z. (Guest)
on 2006-01-09 23:03
(Received via mailing list)
On Jan 9, 2006, at 12:53 PM, Victor R. wrote:

> I know I can iterate and compare each element within a nested loop.
> But is there a way to print out the elements that are missing from the
> smaller array without having to implement a nested loop?
>
> Thank you
>
> Victor

Like this?

irb(main):009:0> a = [1,2,3,4,5]
=> [1, 2, 3, 4, 5]
irb(main):010:0> b = [1,2,3]
=> [1, 2, 3]
irb(main):011:0> a - b
=> [4, 5]

Cheers-
-Ezra
Victor R. (Guest)
on 2006-01-10 15:38
(Received via mailing list)
Ezra,
Thanks a bunch.
This is soooooooooo simple that it is laughable.
I guess I need to read my Ruby books a bit more.

Thanks again
David V. (Guest)
on 2006-01-11 07:47
(Received via mailing list)
Shame not, young grasshopper, "substracting" arrays only really makes
perfect sense after you know it's there. Isn't there a verbose name for
the method? I know Java had a removeAll(Collection) method on one of the
collection interfaces since gods know when, so it's not really that
Obscure Voodoo (tm).

David V.
This topic is locked and can not be replied to.