【ruby】キーワード引数と通常の引数組み合わせ
キーワード引数と通常の引数組み合わせ
エラー例
def test_method1(params = {}, hoge: true) return params, hoge end
# こける $ irb> test_method1({test: 'test', test2: 'test2'}) $ ArgumentError: unknown keywords: test, test2
エラーとならない
def test_method2(params, hoge: true) return params, hoge end
すると、
# こけない $ irb(main)> test_method2({test: 'test', test2: 'test2'}) $ => [{:test=>"test", :test2=>"test2"}, true]
エラーとならない2
もう一つ
def test_method3(hoge: true, **params) # 引数の順序としてキーワード引数が先となる return params, hoge end
すると、
# これもこけない $ irb(main)> test_method3({test: 'test', test2: 'test2'}) $ => [{:test=>"test", :test2=>"test2"}, true]