Ruby · Avançado · Inglês · Técnico
method object
Objeto da classe Method, obtido com obj.method(:nome), que representa um método já ligado ao receptor. Pode ser chamado, passado como argumento e convertido em proc com &.
Onde usar
Aparece ao passar um método existente a map ou a callbacks, como lista.each(&obj.method(:processar)). Também serve para inspecionar aridade e origem com owner e source_location.
Em código
m = 10.method(:+)
p m.call(5) # => 15
p [1, 2].map(&10.method(:+)) # => [11, 12]
p m.owner # => Integer
p m.arity # => 1Exemplos
Pass a method object to map instead of a block.
Passe um method object ao map em vez de um bloco.
Use owner on the method object to find where it's defined.
Use owner no method object para achar onde ele é definido.
Cuidado
Não o confunda com UnboundMethod, que não tem receptor, nem com Proc: o Method tem self fixo e confere argumentos como uma lambda.
Antônimos
UnboundMethod