ExpertiDict

Ruby · Intermediário · Inglês · Técnico

Data

/ˈdeɪtə/substantivo

Classe do Ruby 3.2 para criar objetos de valor imutáveis com Data.define. Gera construtor, leitores, igualdade e o método with, que copia o objeto trocando campos.

Onde usar

Aparece em coordenadas, dinheiro, resultados e DTOs que não devem mudar depois de criados. É a alternativa imutável ao Struct.

Em código

Ponto = Data.define(:x, :y)
a = Ponto.new(x: 1, y: 2)
b = a.with(y: 5)
p b.y  # => 5
p a.y  # => 2
p a == Ponto.new(1, 2)  # => true

Exemplos

I modeled the coordinate as a Data class.

Modelei a coordenada como uma classe Data.

Use with to get a copy and change one field.

Use with para ter uma cópia e mudar um campo.

Cuidado

Não tente atribuir a.x = 1: não existe setter. Para mudar um campo, crie uma cópia com with.

Sinônimos

objeto de valor

Antônimos

Struct

Veja também

Todos os termos de Ruby