実例
例えば、次のようなコードを考えてみる。
def greet(name, options = {})
greeting = "私の名前は#{name}です。"
greeting += "年齢は#{options[:age]}です。" if options[:age]
greeting += "好きな食べ物は#{options[:food]}です。" if options[:food]
greeting
end
もしこのようなメソッドが存在した場合、メソッドを呼び出す時には
greet("鈴木", { age: 25, food: "りんご" })
# => 私の名前は鈴木です。年齢は25です。好きな食べ物はりんごです。
ではなく
greet("鈴木", age: 25, food: "りんご" )
と書くことができる。この仕様を知らないと混乱することもあると思うので書き残しておく。