From: Brian Candler Date: 2008-11-14T19:08:54+09:00 Subject: [ruby-core:19935] Re: {Proc,Method}#parameters (Re: Proposal: Method#get_args) On Fri, Nov 14, 2008 at 06:32:58PM +0900, Yehuda Katz wrote: > We need the defaults to handle out-of-order defaults: > > def action(bar=1, baz=2); end > > Where we get {baz => 5} inbound. Ugh. Now I understand; instead of using Ruby's built-in default handling, Merb has to provide a separate implementation. And yet, if another action calls the controller method directly, it will be using Ruby's default handling. This feels wrong somehow. I suppose there could be a version of __send__ where you mark individually which arguments are being passed real values, and which should fall back to the default. Or even a magic object which means "use the default for this argument". But you want the same thing to work across lots of different Ruby implementations, and with minimal changes to them all. Back to the drawing board...