Ruby · Intermediário · Inglês · Técnico
symbol to proc
Atalho &:nome que converte um símbolo em bloco que chama esse método em cada elemento. map(&:upcase) equivale a map { |x| x.upcase }.
Onde usar
É muito comum em pipelines de coleções, deixando o código curto. No code review, vale para chamadas simples, mas vira ruído se a lógica precisar de argumentos.
Em código
nomes = %w[ana rui bia]
p nomes.map(&:upcase)
# => ["ANA", "RUI", "BIA"]
p nomes.map(&:length)
# => [3, 3, 3]Exemplos
names.map(&:upcase) is the symbol to proc shortcut.
names.map(&:upcase) é o atalho symbol to proc.
You can't pass arguments with symbol to proc.
Você não consegue passar argumentos com symbol to proc.
Cuidado
Não aceita argumentos extras para o método chamado; para isso, escreva o bloco completo.
Sinônimos
&:símbolo