Página 1 de 1

Como adicionar uma nova dimensão em um Hb_RegExSplit

Enviado: 28 Jan 2021 21:23
por asimoes
2021-01-28 21_19_31-Window.png
2021-01-28 21_19_31-Window.png (8.14 KiB) Exibido 527 vezes
Nesse vetor eu queria adicionar uma segunda coluna para cada linha(multidimensional) ex.:

aLike := Hb_RegExSplit( Chr(12), cTeste )

O retorno é vetor usando Hb_RegExSplit

aLike[1,1] := "TESTE"
aLike[1,2] := "TESTE"
aLike[1,3] := "E"
aLike[2,1] := "TESTE"
aLike[2,2] := "TESTE"
aLike[2,3] := "E"

Como adicionar uma nova dimensão em um Hb_RegExSplit

Enviado: 28 Jan 2021 22:28
por asimoes
Acho que consegui

aTeste := {}
aEval( aLike, {|e,n| aAdd( aTeste, {e, "TESTE", "E"} ) } )

Como adicionar uma nova dimensão em um Hb_RegExSplit

Enviado: 29 Jan 2021 01:00
por alxsts
Olá!

Tá fumando o que hein?

Como adicionar uma nova dimensão em um Hb_RegExSplit

Enviado: 29 Jan 2021 09:46
por asimoes
Ficou interessante

Usando aEval para criar JSON

aTeste := {}

aEval( aLike, {|e,n| hRecord := {=>}, hRecord["LINHA"] := e, aAdd( aTeste, hRecord ) } )

Ou

aEval( aLike, {|e,n| hRecord := {=>}, hRecord["LINHA"] := e, hRecord["EJECT"] := n, Hb_HSET( aTeste, Hb_NtoC(n), hRecord ) } )

Ou

aEval( aLike, {|e,n| hRecord := {=>}, hRecord["LINHA"] := e, hRecord["EJECT"] := IF(N < Len(aLike), .T., .F. ), aAdd( aTeste, hRecord ) } ) ou

aEval( aLike, {|e,n| IF( n=1, aTeste := {}, ), hRecord := {=>}, hRecord["LINHA"] := e, hRecord["EJECT"] := n < Len(aLike), aAdd( aTeste, hRecord ) } )

Notem que a variável aTeste foi inicializada na função aEval usando o indice n para testar