Buscar vs. [] para chaves hash

foo = { :bar =>"x", :baz => "y" }

foo
[:bar] = "x"
foo
.fetch(:bar, :default) = "x"

fetch irá gerar uma exceção (KeyError) se a chave não existir e um padrão não for fornecido.