On Fri, 3 Mar 2006, Berger, Daniel wrote:

>>> # Method definition, '=' means assignment (of default value): def
>>> foo(bar, baz = 3)
>>>   ...
>>> end
>>>
>>> # Method call, '=' means keyword
>>> foo(baz = 5, bar = 2)
>>
>> but is
>>
>>    foo baz = 5, bar = 2
>>
>>    a, b = foo(baz = 5), (bar = 2)
>>
>> or
>>
>>    a = foo(  (baz = 5), (bar = 2)  )
>>
>> ??
>
> Second one.

but that's a problem no?  number two is the same as this

   baz = 5
   bar = 2
   a = foo baz, bar

see, when on writes

   foo baz = 5, bar = 2

it's ambiguous if those assignments are part of a method call or not.  bar
escpecitally, it could easily be considered an assignment statement (bar=2)
that's part of a parrallel assignment statement.

or am i missing something?

-a

-- 
judge your success by what you had to give up in order to get it.
- h.h. the 14th dali lama