Página 1 de 1

Criando hash

Enviado: 24 Jun 2020 12:55
por JoséQuintas
Sei lá.... apenas mostrando...

Código: Selecionar todos

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

Código: Selecionar todos

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:

Código: Selecionar todos

{
   "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

Criando hash

Enviado: 08 Jul 2020 16:59
por NiltonGM
Uso muito o Hash no qual chamo de Dicionário (chave e valor)... facilita muito a escrita do código.