Ruby · Essencial · Português · Técnico
variável de instância
Variável com @ no início, guardada dentro de cada objeto e visível em seus métodos de instância. Representa o estado do objeto e vale nil se ainda não foi atribuída.
Onde usar
Aparece no initialize e nos métodos que lembram dados entre chamadas. Ela não precisa ser declarada, então um erro de digitação cria uma variável nova, sem aviso.
Em código
class Contador
def initialize; @n = 0; end
def inc; @n += 1; end
end
c = Contador.new
c.inc
p c.inc # => 2
p c.instance_variables # => [:@n]Exemplos
Guarde o estado do objeto em variáveis de instância no initialize.
Essa variável de instância não foi atribuída, por isso vale nil.
Cuidado
Não a confunda com variável de classe (@@), compartilhada por toda a hierarquia, nem com variável local, que não tem @.
Sinônimos
ivar
Antônimos
variável local