ExpertiDict

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

BasicObject

/ˈbeɪsɪk ˈɑbdʒɛkt/substantivo

Raiz da hierarquia de classes de Ruby, acima de Object. Tem pouquíssimos métodos, o que a torna ideal para proxies e DSLs que precisam de um objeto em branco.

Onde usar

Subclasses de BasicObject não herdam métodos de Kernel como puts, nem inspect, então um method_missing pega quase tudo. É a base de objetos fantasma e builders de XML.

Em código

class Mudo < BasicObject
  def method_missing(nome, *)
    "chamou #{nome}"
  end
end
p Mudo.new.puts   # => "chamou puts"
p Mudo.new.class  # => "chamou class"

Exemplos

The proxy inherits from BasicObject so it forwards almost everything.

O proxy herda de BasicObject para repassar quase tudo.

BasicObject doesn't even have inspect.

BasicObject nem tem inspect.

Cuidado

Não confunda com Object: dentro de uma subclasse de BasicObject, constantes como String não são achadas sem o prefixo ::.

Antônimos

Object

Veja também

Todos os termos de Ruby