Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > array dynamic intersection and union

Reply
Thread Tools

array dynamic intersection and union

 
 
Jamal Soueidan
Guest
Posts: n/a
 
      01-14-2011
Hello,

I was wondering If could intersect and union array dynamic in my code.

Let us say I have these conditions.

array = A & B | (C & D ) & E


Is their any ways of doing these stuff dynamic if all the objects was
arrays.

A = [1,2,3,4,5]


Thanks for any help.

--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
 
Rob Biedenharn
Guest
Posts: n/a
 
      01-14-2011
On Jan 14, 2011, at 4:07 PM, Jamal Soueidan wrote:

> Hello,
>
> I was wondering If could intersect and union array dynamic in my code.
>
> Let us say I have these conditions.
>
> array = A & B | (C & D ) & E
>
>
> Is their any ways of doing these stuff dynamic if all the objects was
> arrays.
>
> A = [1,2,3,4,5]
>
>
> Thanks for any help.
>


Why don't you try a few examples and find out? If you still have
questions, then at least you can point to actual code to clarify where
you need help.

-Rob


Rob Biedenharn
http://www.velocityreviews.com/forums/(E-Mail Removed) http://AgileConsultingLLC.com/
(E-Mail Removed) http://GaslightSoftware.com/


 
Reply With Quote
 
 
 
 
Jamal Soueidan
Guest
Posts: n/a
 
      01-14-2011
Hello Rob,

Sorry I did not explain myself first time.

But I let us say I have these hashes.

rule = {:array => [1,2,3,4], :condition => "AND"}
rule2 = {:array => [1,2,3,4], :condition => "OR"}
rule3 = {:array => [3,4]}

How can I intersection and union based on the conditions in the hash
through them all?

So it end up like this

array = rule[:array] & rule2[:array] | rule3[:array]

--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
Rob Biedenharn
Guest
Posts: n/a
 
      01-15-2011
On Jan 14, 2011, at 5:39 PM, Jamal Soueidan wrote:

> Hello Rob,
>
> Sorry I did not explain myself first time.
>
> But I let us say I have these hashes.
>
> rule = {:array => [1,2,3,4], :condition => "AND"}
> rule2 = {:array => [1,2,3,4], :condition => "OR"}
> rule3 = {:array => [3,4]}
>
> How can I intersection and union based on the conditions in the hash
> through them all?
>
> So it end up like this
>
> array = rule[:array] & rule2[:array] | rule3[:array]


Let me rephrase that because you still aren't giving enough
information to really know what you're trying to do.

Given an array of hashes:
input = [ {:array => [1,2,3,4], :condition => "AND"},
{:array => [2,4,6,8], :condition => "OR"},
{:array => [1,3]},
]
array = input[0][:array] & input[1][:array] | input[2][:array]
=> [2, 4, 1, 3]


Well, if you apply the operations serially, you will actually get
something like:

array = ((input[0][:array] & input[1][:array]) | input[2][:array])

Since & is higher precendence than |, the answer is the same, but if
you change the order:

array = input[0][:array] | input[1][:array] & input[2][:array]
=> [1, 2, 3, 4]

is not the same as:

array = ((input[0][:array] | input[1][:array]) & input[2][:array])
=> [1, 3]


def combine(arrays)
result, op = [], "OR"
arrays.each do |hsh|
case op
when "OR"
result |= hsh[:array]
when "AND"
result &= hsh[:array]
end
op = hsh[:condition]
end
result
end

combine(input)
#=> [2, 4, 1, 3]

-Rob

Rob Biedenharn
(E-Mail Removed) http://AgileConsultingLLC.com/
(E-Mail Removed) http://GaslightSoftware.com/


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
builtin array union intersection function Peng Yu Perl Misc 1 12-31-2009 04:19 PM
perl - array functions (union, intersection, difference, aonly,bonly) input problems. inetquestion Perl Misc 3 02-03-2008 04:43 PM
Re: Standard ways to get union, intersection, difference of lists? =?ISO-8859-1?Q?Mickel_Gr=F6nroos?= Python 3 06-26-2003 05:27 PM
Re: Standard ways to get union, intersection, difference of lists? Gerrit Holl Python 0 06-26-2003 09:29 AM
Standard ways to get union, intersection, difference of lists? =?ISO-8859-1?Q?Mickel_Gr=F6nroos?= Python 2 06-26-2003 09:28 AM



Advertisments