Is there a quick way to compare two arrays and

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

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

···

On Jan 9, 2006, at 12:53 PM, Victor Reyes wrote:

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,
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

···

On 1/9/06, Ezra Zygmuntowicz <ezmobius@gmail.com> wrote:

On Jan 9, 2006, at 12:53 PM, Victor Reyes wrote:

> 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

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

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 Vallner

Victor Reyes wrote:

···

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

On 1/9/06, Ezra Zygmuntowicz <ezmobius@gmail.com> wrote:

On Jan 9, 2006, at 12:53 PM, Victor Reyes wrote:

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
     

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