Eles permitem tornar a parte “o que é obrigatório, o que é opcional, o que é valores padrão” da declaração do método imediatamente visível, acessível à introspecção e apoiado pelo idioma.Ruby Parser avisa sobre isso, no entanto, com “… na EOL, deve ser entre parênteses?”- mas ainda não (ainda) sobre o P X:.Curiosamente, Ruby, como JS, permite usar;Como uma expressão explícita terminou, para que pudéssemos fazer p x:;.(Eu diria com ousadia que a ausência de tais construções freqüentemente sinaliza um código legado, ou muito específico-frequentemente de nível baixo-controte, ou, pelo menos, um estilo pessoal consciente.) Então, parece que essa foi a única escolha viável:
Observe que JS {Val1, Val2} (sem dois pontos) não funcionaria para o segundo caso: o método chama.
Fonte: https://zverok.space/blog/2023-11-10-syntax-sugar3-hash-values-omission.html