Ruby · Essencial · Inglês · Técnico
Struct
Classe geradora que cria rapidamente uma classe com atributos nomeados, construtor, leitores, escritores e igualdade prontos. Útil para agrupar dados simples sem escrever código repetitivo.
Onde usar
Aparece em scripts, testes e pequenos objetos de valor. Para dados imutáveis no Ruby moderno, muita gente prefere Data.define.
Em código
Ponto = Struct.new(:x, :y)
a = Ponto.new(1, 2)
a.x = 10
puts a.x + a.y # => 12
puts a == Ponto.new(10, 2) # => trueExemplos
I used a Struct to hold the point coordinates.
Usei um Struct para guardar as coordenadas do ponto.
Two structs with the same values are equal.
Dois structs com os mesmos valores são iguais.
Cuidado
Não o confunda com o struct do C: aqui é uma classe comum, e os atributos podem ser alterados.
Origem
Abreviação de structure, estrutura.