ハッシュとオプションのキーワード引数を受け入れるメソッドが欲しいのですが。私はこのようなメソッドを定義しようとしました:
def foo_of_thing_plus_amount(thing, amount: 10)
thing[:foo] + amount
end
キーワード引数を使用してこのメソッドを呼び出すと、期待どおりに機能します。
my_thing = {foo: 1, bar: 2}
foo_of_thing_plus_amount(my_thing, amount: 20) # => 21
ただし、キーワード引数を省略すると、ハッシュが食べられてしまいます。
foo_of_thing_plus_amount(my_thing) # => ArgumentError: unknown keywords: foo, bar
どうすればこれを防ぐことができますか?アンチスプラットのようなものはありますか?