o que aconteceu quando passar um método para o método iterador
Como sabemos, wo pode passar um método para um método iterador por um&:
prefixo.
Por exemplo:
["a", "b"].map(&:upcase) #=> ["A", "B"]
def rettwo
2
end
["a", "b"].map(&:rettwo) #=> [2, 2]
Aqui está o problema, quando escrevo um método, passo um método com&:
prefixo para ele, recebi uma mensagem de erro: "ArgumentError: no receiver given".
Deixe-me mostrar o código:
def a_simple_method &proc
puts proc.class # it shows `Proc`
proc.call
end
def a_iterator_method
puts yield
end
a_simple_method &:rettwo #=> ArgumentError: no receiver given
a_iterator_method &:rettwo #=> ArgumentError: no receiver given
O que eu sinto falta, como omap
como método de Array lidar com isso