ExpertiDict

Ruby · Essencial · Inglês · Técnico

initialize

/ɪˈnɪʃəlaɪz/método

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

Veja também

Todos os termos de Ruby