Ruby · Avançado · Inglês · Técnico
unbound method
Objeto UnboundMethod, obtido com Classe.instance_method(:nome), que representa um método desligado de qualquer instância. Para chamá-lo é preciso fazer bind a um objeto compatível.
Onde usar
Aparece em metaprogramação e em wrappers que guardam o método original antes de redefini-lo. Também permite comparar donos e assinaturas de métodos.
Em código
um = Array.instance_method(:size)
p um.class # => UnboundMethod
m = um.bind([1, 2, 3])
p m.call # => 3
p um.bind_call([4, 5]) # => 2Exemplos
Grab the original as an unbound method before patching.
Pegue o original como unbound method antes de aplicar o patch.
Bind the unbound method to an instance to call it.
Faça bind do unbound method a uma instância para chamá-lo.
Cuidado
Não o confunda com Method, que já está preso a um receptor e pode ser chamado direto; o UnboundMethod exige bind ou bind_call.
Sinônimos
UnboundMethod
Antônimos
method object