ハッシュをメソッドの引数として渡す時の注意点
メソッド呼び出しで、最後の引数がハッシュであればハッシュリテラルの{}を省略できる
code:sample.rb
# 最後の引数でハッシュを受け取る
def buy_burger(menu, options = {}) # **options でも良い
puts options
# 省略
end
# {}あり
buy_burger('fish', { drink: true, potato: false })
#=> {"drink"=>true, "potato"=>false} # {}なし
buy_burger('fish', drink: true, potato: false)
#=> {"drink"=>true, "potato"=>false} メソッドの第一引数でハッシュを渡す場合は()を使って引数を囲むこと
code:sample.rb
# 第一引数でハッシュを受け取る
def buy_burger(options = {}, menu) # **options でも良い
puts options
# 省略
end
# ()あり
buy_burger({ drink: true, potato: false }, 'fish')
#=> {"drink"=>true, "potato"=>false} # ()なし
buy_burger { drink: true, potato: false }, 'fish'