How to sort a Hash table?

Post Reply
User avatar
Giovany Vecchi
Posts: 223
Joined: Mon Jun 05, 2006 9:39 pm
Location: Brasil

How to sort a Hash table?

Post by Giovany Vecchi »

I have a hash table and I would like to know how to sort a column.
Ex: "BAIRRO"

Code: Select all | Expand

{{"CEP"=>"15700-772", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4390/4391 AO FIM", "UNIDADE"=>"", "BAIRRO"=>"CONJUNTO HABITACIONAL ROQUE VIOLA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-716", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3819/3820 A 4106/4107", "UNIDADE"=>"", "BAIRRO"=>"VILA NOSSA SENHORA APARECIDA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-726", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4108/4109 A 4388/4389", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PAULISTA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-614", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3400/3401 A 3817/3818", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PARAÍSO", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-032", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3399 - LADO ÍMPAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-030", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3398 - LADO PAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}}
User avatar
Antonio Linares
Site Admin
Posts: 42259
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: How to sort a Hash table?

Post by Antonio Linares »

local a := {{"CEP"=>"15700-772", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4390/4391 AO FIM", "UNIDADE"=>"", "BAIRRO"=>"CONJUNTO HABITACIONAL ROQUE VIOLA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-716", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3819/3820 A 4106/4107", "UNIDADE"=>"", "BAIRRO"=>"VILA NOSSA SENHORA APARECIDA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-726", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4108/4109 A 4388/4389", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PAULISTA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-614", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3400/3401 A 3817/3818", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PARAÍSO", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-032", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3399 - LADO ÍMPAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-030", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3398 - LADO PAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}}

ASort( a,,, { | hElem1, hElem2 | hElem1[ "BAIRRO" ] < hElem2[ "BAIRRO" ] } )
{{"CEP"=>"15700-772", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4390/4391 AO FIM", "UNIDADE"=>"", "BAIRRO"=>"CONJUNTO HABITACIONAL ROQUE VIOLA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-032", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3399 - LADO ÍMPAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-030", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3398 - LADO PAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-614", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3400/3401 A 3817/3818", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PARAÍSO", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-726", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4108/4109 A 4388/4389", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PAULISTA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-716", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3819/3820 A 4106/4107", "UNIDADE"=>"", "BAIRRO"=>"VILA NOSSA SENHORA APARECIDA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}}
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Giovany Vecchi
Posts: 223
Joined: Mon Jun 05, 2006 9:39 pm
Location: Brasil

Re: How to sort a Hash table?

Post by Giovany Vecchi »

Thank you very much Antonio.
It worked just fine.
Post Reply