ExpertiDict

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

Class new

/klæs nu/método

Forma de criar uma classe anônima em tempo de execução, com Class.new(Superclasse) { ... }. A classe só ganha nome quando é atribuída a uma constante.

Onde usar

Aparece em testes, que criam classes descartáveis, e em bibliotecas que geram classes dinamicamente, como modelos ou serializadores.

Em código

anonima = Class.new do
  def falar = "oi"
end
p anonima.name  # => nil
Pessoa = anonima
p anonima.name  # => "Pessoa"
p Pessoa.new.falar  # => "oi"

Exemplos

The spec builds an anonymous class with Class.new.

O spec monta uma classe anônima com Class.new.

The class gets its name once you assign it to a constant.

A classe ganha nome quando você a atribui a uma constante.

Cuidado

Não é o mesmo que MinhaClasse.new, que cria uma instância; Class.new cria a própria classe.

Sinônimos

classe anônima

Veja também

Todos os termos de Ruby