From: "ngoto (Naohisa Goto)" Date: 2012-12-07T01:54:20+09:00 Subject: [ruby-dev:46712] [ruby-trunk - Bug #7529][Open] キーワード引数を使うと最後のほうの通常の引数にハッシュを渡せない? Issue #7529 has been reported by ngoto (Naohisa Goto). ---------------------------------------- Bug #7529: キーワード引数を使うと最後のほうの通常の引数にハッシュを渡せない? https://bugs.ruby-lang.org/issues/7529 Author: ngoto (Naohisa Goto) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0dev (2012-12-06) [x86_64-linux] def foo(h, k: 0) p [ h, k ] end h = { 1=> 2 } foo(h) を実行すると ArgumentError: unknown keyword: 1 のエラーが出ますが、hがハッシュの場合に、キーワードkのデフォルト値を保ったまま、fooにhを渡すことができないのは仕様でしょうか? 間に省略可能な通常の引数を入れて、 def foo2(h, dummy = nil, i: 0) p [ h, dummy, i ] end h = { 1=> 2 } foo2(h) とやっても同様に ArgumentError: unknown keyword: 1 が出てしまいます。(r38235 にて実行) -- http://bugs.ruby-lang.org/