Hey Everyone, I think this should be an easy one, and the solution
right now was to use two lines instead of one, but I am curious why
this syntax isn''t working.
Assignment.find(:all).delete_if {|assignment|
assignment.assignment_name == "Lunch" || assignment.assignment_name
="Lunch"}
This will return the array without the "Lunch", but with the break
still in tact, so I tried again:
Assignment.find(:all).delete_if {|assignment|
assignment.assignment_name == ("Lunch" || "Break")}
Nope! No good, once again, lunch is gone, but break is still in the
array.
tried to do the same thing with select as well . . . no dice. I have
this working right now with two lines of code, but I am really curious
where my syntax is going wrong. More a question of interest then
anything else.
Thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Frederick Cheung
2008-Dec-11 16:09 UTC
Re: Can someone explain what is wrong with my syntax?
On 11 Dec 2008, at 15:59, BushyMark wrote:> > Hey Everyone, I think this should be an easy one, and the solution > right now was to use two lines instead of one, but I am curious why > this syntax isn''t working. > > Assignment.find(:all).delete_if {|assignment| > assignment.assignment_name == "Lunch" || assignment.assignment_name => "Lunch"} > > This will return the array without the "Lunch", but with the break > still in tact, so I tried again: > > Assignment.find(:all).delete_if {|assignment| > assignment.assignment_name == ("Lunch" || "Break")} > > Nope! No good, once again, lunch is gone, but break is still in the > array. >That doesn''t do what you think it does. First it evaluates ("Lunch" || "Break") which evaluates to "Lunch", so that just does Assignment.find(:all).delete_if {|assignment| assignment.assignment_name == "Lunch"} you would need Assignment.find(:all).delete_if do |assignment| assignment.assignment_name == "Lunch" || assignment.assignment_name == "Break" end or Assignment.find(:all).delete_if do |assignment| ["Lunch", "Break"].include? assignment.assignment_name end Fred> tried to do the same thing with select as well . . . no dice. I have > this working right now with two lines of code, but I am really curious > where my syntax is going wrong. More a question of interest then > anything else. > > Thanks! > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---