Ruby · Intermediário · Inglês · Técnico
hash shorthand
Sintaxe do Ruby 3.1 em que {x:, y:} equivale a {x: x, y: y}, usando variáveis ou métodos de mesmo nome. Vale também em chamadas, como f(x:, y:).
Onde usar
Aparece ao montar hashes e passar argumentos nomeados a partir de variáveis. Reduz repetição, mas exige que o nome da variável coincida com a chave.
Em código
x = 1
y = 2
ponto = { x:, y: }
p ponto[:x] # => 1
def mover(x:, y:) = "#{x},#{y}"
p mover(x:, y:) # => "1,2"Exemplos
Use the hash shorthand when the names match.
Use o hash shorthand quando os nomes coincidem.
With hash shorthand you stop repeating x and y.
Com o hash shorthand você para de repetir x e y.
Cuidado
Se não houver variável ou método com aquele nome, lança NameError; e ao omitir parênteses numa chamada, a linha seguinte pode ser engolida como valor.
Sinônimos
sintaxe curta de hash