From: Yukihiro Matsumoto Date: 2006-03-03T01:35:37+09:00 Subject: Re: Confusion Over Keyword Arguments Hi, In message "Re: Confusion Over Keyword Arguments" on Fri, 3 Mar 2006 00:57:44 +0900, "Berger, Daniel" writes: |That can be made to work, with the understanding that '=' in a method |call means 'keyword argument', not 'assignment', since there is no point |in doing an assignment in a method call. I'm not sure if we _can_. yacc is a tough guy to fight with. |http://djberg96.livejournal.com/50162.html In this article, you've proposed *rest to slurp keyword hash. Indeed it is simple, but maybe too simpler. I don't get how it can co-exist with _your_ ideal keyword parameters. I.e. how the following code should work? def foo(a, b=0, *c) ... end foo(1, foo:3) # (a=1, b={:foo=>3}) or (a=1,b=0,c=[{:foo=>3}])? foo(1, 2, 8, c:5) # c={:c=>5}) or c=[8,{:c=>5}] or error? args = [1, {:b=>2, foo=>5}] foo(*args) # (a=1,b={:b=>2, foo=>5}) or (a=1,b=2,c=[{:foo=>5}])? matz.