ExpertiDict

Ruby · Essencial · Português · Técnico

variável de instância

/vaɾiˈavew dʒi ĩsˈtɐ̃sjɐ/substantivo

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

Veja também

Todos os termos de Ruby