"Charles Mills" <cmills / freeshell.org> schrieb im Newsbeitrag news:BE182BA4-22BC-11D9-8B98-000A95A27A10 / freeshell.org... > I intended to write: > > After reading the "Too many default argument values!" thread I was > wondering why the following isn't possible: > ## > def my_meth(arg1, opt1, arg2, opt2) > # ... > end > > my_meth("hey", :yada => "blue", :foo => "bar", \ > "my_spreadsheet.xls", :wkst => "sheet1", :range => > "A1:C5") > > ## END > > Just wondering why the above call causes a syntax error instead of > having the same behavior as: > my_meth("hey", {:yada => "blue", :foo => "bar"}, "my_spreadsheet.xls", > {:wkst => "sheet1", :range => "A1:C5"}) > > Probably too ambiguous to parse effectively. I think that's it. Optional arguments can only be at the end. Other than that is simply undecidable which arg values belong to which arg. robert