Учитывая массив myarr
и метод foo
, который понимается каждым элементом массива, я могу создать новый массив следующим образом:
mapper = :foo
newarr = myarr.map(&mapper)
, поскольку ярлык &
поворачиваетсимвол, сохраненный в mapper
в Proc
.
Предположим, mapper
не является Symbol
, но уже является экземпляром Proc
.Затем:
mapper = :foo.to_proc
newarr = myarr.map(mapper)
вызывает ошибку, поскольку Array#map
не принимает параметр.
Конечно, я могу сделать:
newarr = myarr.map {|x| mapper.call(x)}
, но мне интересноесть ли у вас ярлык быстрого доступа (похожий на &:foo
), который я могу использовать здесь.