attr_reader, attr_writer și attr_accessor în Ruby: Generarea Getter-elor și Setter-elor în Ruby

Sintaxă
attr_reader :nume, ...
attr_writer :nume, ...
attr_accessor :nume, ...

Aceste metode metaprogramate din modulul Module generează automat metodele accesor (getter și setter) pentru variabilele de instanță @variabila, reducând masiv codul repetitiv (boilerplate).

class Produs
  attr_reader :id         # Generează doar getter: def id; @id; end
  attr_writer :stoc       # Generează doar setter: def stoc=(val); @stoc = val; end
  attr_accessor :pret, :titlu # Generează atât getter cât și setter

  def initialize(id, titlu, pret, stoc)
    @id = id
    @titlu = titlu
    @pret = pret
    @stoc = stoc
  end
end

p = Produs.new(1, "Laptop", 3500, 10)
puts p.titlu      # Getter apelat
p.pret = 3200     # Setter apelat
# p.id = 2        # NoMethodError! (id este doar citibil)

Performanță C nativă: Metodele generate de attr_reader sunt optimizate la nivel de bytecode în mașina virtuală YARV, fiind mai rapide decât scrierea manuală a metodelor în Ruby.

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: attr_reader, attr_writer și attr_accessor în Ruby: Generarea Getter-elor și Setter-elor

Ai o nelămurire despre utilizarea comenzii attr_reader, attr_writer și attr_accessor în Ruby: Generarea Getter-elor și Setter-elor sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.