Wouldn't that modify defaults, not options? Andrew
On Wed, Mar 11, 2009 at 8:46 PM, Torm3nt <[email protected]> wrote: > Can't you do defaults.merge!(options) to modify the object in place? > Kirk > > > On Wed, Mar 11, 2009 at 5:33 PM, Andrew Grimm <[email protected]>wrote: > >> This is probably personal preference, but I usually use an explaining >> variable of defaults and have >> >> defaults = {:width => 800, :align => :left_justify} >> options = defaults.merge(options) >> >> This doesn't mutate the existing options object but creates a new object. >> I'm not sure if this is a bug or feature. >> >> I use double quotes rather than single, but that's because I use plain >> command line ruby rather than rails. >> >> Andrew >> >> >> On Wed, Mar 11, 2009 at 4:03 PM, David Phillips >> <[email protected]>wrote: >> >>> >>> On 11/03/2009, at 11:20 AM, Christopher Robbie wrote: >>> >>> > c = a || b >>> > >>> > if 'a' is got something, use it, if 'a' is nil(or false) then use 'b'. >>> > love it. >>> >>> c ||= a >>> >>> c = a, but only if c is nil >>> >>> def do_something options >>> options[:width] ||= 800 >>> options[:align] ||= :left_justify >>> >>> >>> >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby or Rails Oceania" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rails-oceania?hl=en -~----------~----~----~----~------~----~------~--~---
