ExpertiDict

Ruby · Avançado · Inglês · Técnico

method object

/ˈmɛθəd ˈɑbdʒɛkt/substantivo

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  # => 1

Exemplos

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

Veja também

Todos os termos de Ruby