From: Patrick Hurley Date: 2007-03-23T06:58:15+09:00 Subject: Re: Code completion for Ruby - Net Beans, RDT, and more On 3/22/07, S. Robert James wrote: > Code completion for Ruby is on its way. I'm concerned that the > recently popular style of using hashes to fake named params will keep > us in the dark, though. > > And anyway, Ruby wants to get named params. How about this: declare > the method explicitly: > > def parse(filename, char = nil, conn = nil, another_param = nil) > > and have the interpreter allow the style, by converting a final hash > to params if and only if all of the keys match the arg names. > > So: > > parse('readme.txt', :char => 'a', :another_param => true) > becomes > parse('readme.txt', a, nil, true) > > whereas > parse('readme.txt', :bad_param => 'b') > would still be > parse('readme.txt', {:bad_param => 'b'}) > and it would be up to the parse method to handle as it normally does. > > This would allow: > * real named params > * more explicit method definitions > * code completion > * preserve the current style > > > Named parameters is in the ToDo file on 1.9 distribution: * named arguments like foo(nation:="german") or foo(nation: "german"). so you may get what you want pth