ExpertiDict

Ruby · Essencial · Inglês · Técnico

attr accessor

/ˈætɚ ækˈsɛsɚ/método

Atalho que gera de uma vez o leitor e o escritor de uma variável de instância. Existem também attr_reader e attr_writer para só um dos lados.

Onde usar

Em vez de escrever getters e setters à mão, você declara attr_accessor :nome. No code review, prefira attr_reader quando o valor não deve mudar fora da classe.

Em código

class Livro
  attr_accessor :titulo
  attr_reader :isbn
end
l = Livro.new
l.titulo = 'Ruby'
puts l.titulo  # => Ruby

Exemplos

Just add attr_accessor :name and you get both methods.

Basta adicionar attr_accessor :name e você ganha os dois métodos.

Use attr_reader here, nobody should change the id.

Use attr_reader aqui, ninguém deve mudar o id.

Cuidado

Dentro da classe, escrever nome = 'x' cria uma variável local; para chamar o setter é preciso self.nome = 'x'.

Veja também

Todos os termos de Ruby