O que o &: of &: aFunction está fazendo? [duplicado]

Esta questão já tem uma resposta aqui:

O que map (&: name) significa em Ruby? 15 respostas

Estou revisando o código ruby ​​de alguém e nele ele escreveu algo semelhante a:

class Example
  attr_reader :val
  def initialize(val)
    @val = val
  end
end

def trigger
  puts self.val
end

anArray = [Example.new(10), Example.new(21)]
anArray.each(&:trigger)

o:trigger significa que o símbolo é tomado e o& transforma-lo em umproc?

Se isso é correto, existe alguma maneira de passar variáveis ​​para o gatilho além de usarself.?

Isso está relacionado, mas nunca foi respondido:http://www.ruby-forum.com/topic/198284#863450

questionAnswers(3)

yourAnswerToTheQuestion