From: Joel VanderWerf Date: 2004-06-03T03:33:32+09:00 Subject: Re: ruby-dev summary 23566-23622 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... :(