Yeah creating a proc every time isn't needed and much cleaner this  
way. I do think that it's better to use #blank? as was used in Ryan's  
patch. Still waiting for that ticket :)

Eloy

On Aug 6, 2009, at 2:44 PM, Ryan Angilly wrote:

> Similar discussion from an older ticket: 
> https://rails.lighthouseapp.com/projects/8994/tickets/1815-patch-add-or_if_blank-to-object
>
>
> On Thu, Aug 6, 2009 at 8:38 AM, Luca Guidi <guidi.l...@gmail.com>  
> wrote:
> What about using Object#try and avoiding the explicit &block argument?
> This avoid to instantiate a Proc object *for each* method execution,  
> if any block isn't passed and the enumerable is empty the VM will  
> raise a LocalJumpError.
>
> module Enumerable
>   def else
>     self.try(:empty?) ? yield : self
>   end
> end
>
> Please look at this benchmark (http://gist.github.com/163274) my  
> implementation is exactly 4x faster ;)
>
> Cheers,
> Luca
> -- 
> lucaguidi.com
> twitter.com/jodosha
>
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to rubyonrails-core@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-core+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to