Paul Brannan wrote:
> On Thu, Jun 03, 2004 at 12:00:51AM +0900, Takaaki Tateishi wrote:
> 
>>[ruby-dev:23572] keyword argments (Ruby2.0 spec)
>>
>>  Nagai asked how keyword arguments and hash-style arguments work in
>>  ruby-2.0, since a lot of hash-style arguments appear in his extension
>>  library 'Ruby/Tk'. Matz proposed following two solutions.
>>    (a) hash-style argument appearing at the end of argument list is
>>        supported as usual.
>>    (b) hash-style arguments were abolished.
> 
> 
> I'd prefer (a), because backward-compatibility is a good thing, and I'd
> prefer to change my code as little as possible to make it work on Ruby
> 2.0.

I'd vote for (a), too. I use this syntax as part of the programmer's 
interface of a simulation language embedded in ruby. So it's not a just 
matter of updating my own code, but of changing the interface that users 
see.

Here's an example of code written in this embedded language:

class C
   flow { diff "x' = 1" } # Runge-Kutta integration
   transition State1 => State2, State3 => State4 do
     guard "x > 2"
     reset :x => 0
   end
end

It just doesn't look the same with

   transition State1: State2 do ...

or

     reset x: 0

But maybe I've relied too much on an incidental aspect of ruby syntax... :(