From: Jules Jacobs Date: 2006-03-11T18:20:45+09:00 Subject: Re: named method arguments with defaults You can use merge: def a_method(*options) options = {:size => 45, :length => 12}.merge(options) # do stuff end a_method(:size => 44) *should* work. On Saturday, March 11, 2006, at 4:48 PM, wrote: >Hello all, > >What is the current idiomatic approach to pass named arguments to a >method in Ruby ? > >In Perl, I can do: > >sub method >{ > # first the defaults are specified, then @_ is appended and overrides > # the defaults, using Perl's array-folding-into-hash feature > # > my %args = ("size" => 45, > "length" => 12, > @_); > > my $the_size = $args{"size"}; >} > ># now, a call: 44 will override the default size 45, but length will >remain 12 ># >method("size" => 44); > >I'm sure Ruby has a nearly similar approach to achieve this, I just not >skilled enough (yet) to know how. Please advise. > >Thanks in advance >Eli > > Jules -- Posted with http://DevLists.com. Sign up and save your time!