Ruby · Essencial · Inglês · Técnico
initialize
Método especial chamado automaticamente por new para preparar o objeto recém-criado. Recebe os argumentos de new e costuma gravar variáveis de instância.
Onde usar
Tudo que o objeto precisa para existir entra no initialize. No code review, evite trabalho pesado ou I/O ali dentro, pois isso dificulta os testes.
Em código
class Ponto
def initialize(x, y)
@x, @y = x, y
end
end
p Ponto.new(1, 2).instance_variables
# => [:@x, :@y]Exemplos
Keep initialize simple, no database calls in there.
Mantenha o initialize simples, sem chamadas ao banco ali.
new passes its arguments straight to initialize.
O new repassa os argumentos direto para o initialize.
Cuidado
Não chame initialize diretamente nem espere retorno dele: o valor de new é sempre o objeto, e initialize é privado.
Sinônimos
construtor