Explicado de forma simples, os argumentos de palavra-chave fornecem uma maneira mais dinâmica de definir métodos (e sua assinatura) nomeando os parâmetros passados a eles.
Ruby 1.9 – você poderia passar um hash como um argumento, mas precisava fazer algum processamento interno para os valores padrão:
def greet(opts={})
greeting = opts[:greeting] || 'Hello'
name = opts[:name] || 'World'
puts "#{ greeting } #{ name }!"
end
Ruby 2.0 – agora você pode simplesmente nomear os parâmetros diretamente na definição do método.
def greet(greeting: 'Hello', name: 'World')
puts "#{ greeting } #{ name }!"
end
My Ruby 2.0 Quicklook é uma curta série de notas para mim mesmo sobre as novidades do Ruby 2.0 em explicações rápidas, simples e não complicadas para o futuro esquecível. Espero que seja útil para você também e sinta-se à vontade para comentar e / ou corrigir.