ExpertiDict

Ruby · Essencial · Inglês · Técnico

Struct

/stɹʌkt/substantivo

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)  # => true

Exemplos

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.

Veja também

Todos os termos de Ruby