Ruby · Intermediário · Inglês · Técnico
Set
Coleção de elementos únicos, apoiada em um hash, com verificação rápida de pertencimento. Oferece união, interseção, diferença e testes de subconjunto.
Onde usar
Aparece para remover duplicatas e checar presença em coleções grandes, onde include? em array seria lento. A partir do Ruby 3.2 pode ser usado sem require.
Em código
tags = Set.new(["ruby", "rails", "ruby"])
p tags.size # => 2
tags << "rspec"
p tags.include?("rails") # => true
outras = Set["rails", "go"]
comum = tags & outras
p comum.size # => 1Exemplos
Put the ids in a Set to check membership fast.
Ponha os ids em um Set para checar pertencimento rápido.
Adding a duplicate to a set does nothing.
Adicionar um duplicado a um set não faz nada.
Cuidado
Não o confunda com Array#uniq, que só devolve outro array; Set é um tipo próprio, com operações de conjunto.
Sinônimos
conjunto