How following expression evaluate in rails?


#1

Hi,

i have a following code
abc= Abc.find(aa_ids, :order => ‘created_at desc’)
abc.delete_if { |event|
(event.group_id && !group_ids.include?(event.group_id) &&
!event.group.is_public?) || !Abc::SHOW_EVENTS.include?(event.event_type)
}

I need to know that how this expression is evaluate what is the
precedence of operator and does short circuit expression evaluation
happen here


#2

Sunny B. wrote:

I need to know that how this expression is evaluate what is the
precedence of operator and does short circuit expression evaluation
happen here

http://phrogz.net/ProgrammingRuby/language.html#table_18.4

It’s also good practice to use parenthesis to explicitly force the
precedence that you want rather than relying completely on a language’s
operator precedence. It will be easier for you or anyone else looking at
the code later to know the intent of the code.