Clasa OpenStruct (Open Structure) permite definirea rapidă de obiecte de date ale căror atribute sunt create automat în mod dinamic la simpla atribuire, fără a fi necesară scrierea unei definiții de clasă formale.
require "ostruct"
# Creare instanță pornind de la un dicționar:
utilizator = OpenStruct.new(nume: "Cristian", varsta: 28, rol: :admin)
puts utilizator.nume # "Cristian" (metodă getter creată dinamic)
puts utilizator.varsta # 28
# Atribuirea unui atribut nou care nu exista la inițializare:
utilizator.oras = "Brașov"
puts utilizator.oras # "Brașov"
# Conversie înapoi în Hash:
p utilizator.to_h
Alternativă de performanță: Pentru sisteme de mare performanță unde se procesează milioane de obiecte, preferați clasa standard Struct sau Data.define (Ruby 3.2+), deoarece OpenStruct utilizează metaprogramare la fiecare acces.
Întrebări & Exemple de Cod:
Clasa OpenStruct în Ruby: Obiecte de Date cu Atribute DinamiceAi o nelămurire despre utilizarea comenzii
Clasa OpenStruct în Ruby: Obiecte de Date cu Atribute Dinamicesau 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.