ExpertiDict

Ruby · Intermediário · Inglês · Técnico

keyword arguments

/ˈkiwɝd ˈɑrɡjəmənts/substantivo

Argumentos passados por nome, como em criar(nome: 'Ana'). Podem ser obrigatórios ou ter valor padrão, e a ordem na chamada não importa.

Onde usar

Deixam as chamadas legíveis e as APIs estáveis, pois dá para adicionar opções sem quebrar quem já usa. Desde o Ruby 3, hash e keywords são separados, e passar um hash exige **.

Em código

def criar(nome:, idade: 18)
  "#{nome} (#{idade})"
end
puts criar(nome: 'Ana')
opts = { nome: 'Rui', idade: 30 }
puts criar(**opts)

Exemplos

I switched to keyword arguments so the call reads better.

Mudei para keyword arguments para a chamada ficar mais legível.

Missing a required keyword raises ArgumentError.

Faltar uma keyword obrigatória levanta ArgumentError.

Cuidado

No Ruby 3, não dá para passar um hash no lugar das keywords sem o duplo asterisco; código do Ruby 2 que dependia disso quebra.

Sinônimos

argumentos nomeados

Antônimos

argumentos posicionais

Veja também

Todos os termos de Ruby