Clasa Struct generează dinamic clase complete de date cu constructori, metode getter/setter, comparare de egalitate bazată pe valori și serializare inclusă.
# Definire clasă de date cu argumente denumite (keyword arguments):
Punct = Struct.new(:x, :y, keyword_init: true) do
def distanta_la_origine
Math.sqrt(x**2 + y**2)
end
end
p1 = Punct.new(x: 3, y: 4)
puts p1.x # 3
puts p1.distanta_la_origine # 5.0
# Comparație structurală bazată pe valorile câmpurilor (nu referință de memorie):
p2 = Punct.new(x: 3, y: 4)
puts p1 == p2 # true!
Înlocuitor modern: În Ruby 3.2+, clasa Data.define(:x, :y) oferă structuri similare complet imutabile.
Întrebări & Exemple de Cod:
Clasa Struct în Ruby: Generarea Rapidă de Clase de Date UșoareAi o nelămurire despre utilizarea comenzii
Clasa Struct în Ruby: Generarea Rapidă de Clase de Date Ușoaresau 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.