Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

252
Visualizações
Claves duplicadas de hash en ruby

Sé que hash no almacena claves duplicadas. Pero quiero saber si ese comportamiento predeterminado se puede cambiar de acuerdo con los requisitos, ¿es eso posible? Daré el código de muestra aquí.

 keys_array = [ 'key1', 'key2' ] values_array = [ {"A": { "id": "1" }}, {"B": { "id": "2" }} ] results = keys_array.zip(values_array ).to_h

Aquí la salida es exactamente lo que quería {"key1"=>{:A=>{:id=>"1"}}, "key2"=>{:B=>{:id=>"2"}}}

Pero si las teclas se repiten, por ejemplo

 keys_array = [ 'key1', 'key1' ] in which 'key1' key is repeated, result will be {"key1"=>{:B=>{:id=>"2"}}}

Pero quiero {"key1"=>{:A=>{:id=>"1"}}, "key1"=>{:B=>{:id=>"2"}}} Sé cómo agrupar y todo, pero cambiará el formato de resultado Así que no quiero usar eso

Quiero este resultado {"key1"=>{:A=>{:id=>"1"}}, "key1"=>{:B=>{:id=>"2"}}} donde está key1 una tecla repetida. También tenga en cuenta que estos valores de matriz no son fijos, es dinámico

¡Agradezco enormemente su ayuda!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede alterar el comportamiento de un hash con compare_by_identity .

 h = Hash.new.compare_by_identity h["key1"] = 1 h["key1"] = 2 ph #=> {"key1"=>1, "key1"=>2}

Nunca he visto una manera útil para esto.

over 4 years ago · Santiago Trujillo Relatório

0

La estructura de datos que está buscando se llama multimapa . Por supuesto, es posible implementar uno en Ruby. Sólo tienes que hacerlo. (O encuentre una biblioteca que lo haga por usted).

Sin embargo, ni el núcleo ni la biblioteca estándar contienen una implementación multimapa.

over 4 years ago · Santiago Trujillo Relatório

0

De ninguna manera con un hash, podría usar una matriz de hash en su lugar:

 [{"key1"=>{:A=>{:id=>"1"}}}, {"key1"=>{:B=>{:id=>"2"}}}]
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda