Trans wrote:
> Widdle it:
> 
> def foo( required :bar, :baz ; optional :request=>'useless' ; named
> :side, :meat=>'fish' )
> 
> def foo( bar, baz ; optional :request=>'useless' ; named :side,
> :meat=>'fish' )
> 
> def foo( bar, baz, request='useless', keys: side, meat=>'fish' )
> 
> def foo( bar, baz, request='useless', side=>nil, meat=>'fish' )
> 
> T.
> 

AAARGH! My eyes ;)

   def foo(a, b = "b", named c, named d = "d", **keys); end

   foo("a", :c => "c", :e => "e")
    -> a = "a", b = "b", c = "c", d = "d"
    -> keys = {:e => "e"}

Of course you don't need to use the word "named", you could substitute 
it with something else.


Cheers,
Daniel