From: "rits (First Last)" Date: 2013-05-18T08:29:10+09:00 Subject: [ruby-core:55038] [ruby-trunk - Bug #8418] when all params are optional, named arg hash maps to the first available param Issue #8418 has been updated by rits (First Last). that would also make it correspond to the new syntax irb(main):034:0> def foo(arg = 1, **options); {arg: arg, options: options}; end; foo(a: 1) => {:arg=>1, :options=>{:a=>1}} ---------------------------------------- Bug #8418: when all params are optional, named arg hash maps to the first available param https://bugs.ruby-lang.org/issues/8418#change-39390 Author: rits (First Last) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0p195 (2013-05-14 revision 40734) [i686-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN irb(main):028:0> def foo(arg = 1, options = {}); {arg: arg, options: options}; end; foo(a: 1) => {:arg=>{:a=>1}, :options=>{}} since positional args can't follow the named hash, perhaps the named hash should map to the last possible param? -- http://bugs.ruby-lang.org/