Я заметил, что множество примеров, связанных с Ruby Procs, имеют в нем следующее и символ.
# Ruby Example
shout = Proc.new { puts 'Yolo!' }
def shout_n_times(n, &callback)
n.times do
callback.call
end
end
shout_n_times(3, &shout)
# prints 'Yolo!' 3 times
Мой вопрос в том, какова функциональная цель за символом? Похоже, что если я написал тот же самый точный код без &, он работает как ожидалось:
# Same code as previous without &
shout = Proc.new { puts 'Yolo!' }
def shout_n_times(n, callback)
n.times do
callback.call
end
end
shout_n_times(3, shout)
# prints 'Yolo!' 3 times