ExpertiDict

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

symbol to proc

/ˈsɪmbəl tu prɑk/substantivo

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

Veja também

Todos os termos de Ruby