Clipper On Line • Ver Tópico - Criando hash

Criando hash

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Criando hash

Mensagempor JoséQuintas » 24 Jun 2020 12:55

Sei lá.... apenas mostrando...

LOCAL hMain, hFamily, hWho

   hMain := {=>}

   hFamily := {=>}
   hWho := {=>}
   hWho["money"] := 35
   hb_Hset( hFamily, "Emy", hWho )   // hFamily["Emy"] := hWho

   hWho := {=>}
   hWho["money"] := 25
   hb_Hset( hFamily, "Evy", hWho )   // hFamily["Evy"] := hWho

   hWho := {=>}
   hWho["money"] := 15
   hb_Hset( hFamily, "Ely", hWho )   // hFamily["Ely"] := hWho
 
   hb_Hset( hMain, "female", hFamily )   // hMain["female"] := hFamily

   hFamily := {=>}
   hWho := {=>}
   hWho["money"] := 10
   hb_Hset( hFamily, "Huey", hWho )   // hFamily["Huey"] := hWho

   hWho := {=>}
   hWho["money"] := 5
   hb_Hset( hFamily, "Dewey", hWho )   // hFamily["Dewey"] := hWho

   hWho := {=>}
   hWho["money"] := 0
   hb_Hset( hFamily, "Louie", hWho )   // hFamily["Louie"] := hWho
 
   hb_Hset( hMain, "male", hFamily )   // hMain["male"] := hFamily
 
   hb_MemoWrit( "list", hb_JsonEncode( hMain, 3, /*cCodePage )*/ ) )


Fiz um teste assim, e dá o mesmo resultado

PROCEDURE Main

   LOCAL a, b, c

   WITH OBJECT a := hb_Hash()
      WITH OBJECT b := a[ "female" ] := hb_Hash()
         WITH OBJECT c := b[ "Emy" ] := hb_Hash()
            c[ "money" ] := 25
         ENDWITH
         WITH OBJECT c := b[ "Evy" ] := hb_Hash()
            c[ "money" ] := 25
         ENDWITH
         WITH OBJECT c := b[ "Ely" ] := hb_Hash()
            c[ "money" ] := 15
         ENDWITH
      ENDWITH
      WITH OBJECT b := a[ "male" ] := hb_Hash()
         WITH OBJECT c := b[ "Huey" ] := hb_Hash()
            c[ "money" ] := 10
         ENDWITH
         WITH OBJECT c := b[ "Dewey" ] := hb_Hash()
            c[ "money" ] := 5
         ENDWITH
         WITH OBJECT c := b[ "Louie" ] := hb_Hash()
            c[ "money" ] := 0
         ENDWITH
      ENDWITH
   ENDWITH
   hb_MemoWrit( "list2", hb_JsonEncode( a, 3 ) )
   
   RETURN


O resultado nos dois casos é este:

{
   "female":
   {
      "Emy":
      {
         "money": 25
      },
      "Evy":
      {
         "money": 25
      },
      "Ely":
      {
         "money": 15
      }
   },
   "male":
   {
      "Huey":
      {
         "money": 10
      },
      "Dewey":
      {
         "money": 5
      },
      "Louie":
      {
         "money": 0
      }
   }
}


Apenas estou mostrando.
Não uso isso, apenas fiz o teste de curioso pra ver se dava certo.
Se algum dia precisar, já fica anotado aqui.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Criando hash

Mensagempor NiltonGM » 08 Jul 2020 16:59

Uso muito o Hash no qual chamo de Dicionário (chave e valor)... facilita muito a escrita do código.
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 393
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 249 vezes
Mens.Curtidas: 24 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro