Page 1 of 1

Creo que esto depende de Harbour...

PostPosted: Fri Mar 01, 2024 12:52 pm
by goosfancito
esta función devuelve un array con tres datos numéricos que yo se lo transfiero a un array local..
Code: Select all  Expand view
local aValores:= ::guardarFactura( oDescripcion )

Esos valores luego lo uso en diferentes llamadas a funciones. Mi pregunta es: hay alguna manera de poder hacer esto? (lo vi en otros lenguajes)

Code: Select all  Expand view
nValor1, nValor2, nValor3:=  ::guardarFactura( oDescripcion )

Gracias.

Re: Creo que esto depende de Harbour...

PostPosted: Fri Mar 01, 2024 2:25 pm
by acuellar
Etimado goosfancito

Hacerlo así:
Code: Select all  Expand view

nValor1:= nValor2:= nValor3:=  ::guardarFactura( oDescripcion )
 

Re: Creo que esto depende de Harbour...

PostPosted: Fri Mar 01, 2024 4:29 pm
by cmsoft
acuellar wrote:Etimado goosfancito

Hacerlo así:
Code: Select all  Expand view

nValor1:= nValor2:= nValor3:=  ::guardarFactura( oDescripcion )
 

Pero si los 3 valores son distintos va a ponerles a todos el mismo valor, no?

Re: Creo que esto depende de Harbour...

PostPosted: Sat Mar 02, 2024 12:35 am
by Willi Quintana
HOla Sr.. prueba asi:
Code: Select all  Expand view

local aVar1, aVar2, aVar3
local aValores:= ::guardarFactura( oDescripcion )
aVar1 := aValores[1]
aVar2 := aValores[2]
aVar3 := aValores[3]

 

Re: Creo que esto depende de Harbour...

PostPosted: Sat Mar 02, 2024 1:23 pm
by goosfancito
Gracias a los tres.

Voy a expandirme mas en la explicacion basandome en un ejemplo:

Code: Select all  Expand view
method Jorgito(nItem)
    local aResp:={ 0, 0, 0}
    do case
    case nItem = 1
        aResp[1]:= 10
    case nItem = 2
        aResp[2]:= 50
    case nItem = 3
        aResp[3]:= -8
    end case

return aResp

....
local nUno, nDos, nTres

// lo que quisiera es poder hacer esto
nUno, nDos, nTres:= ::Jorgito(2)

// y que cuando vea que valores tienen nUno, nDos y nTres de:
0
50
0

nUno, nDos, nTres:= ::Jorgito(3)
0
0
-8
 


Yo lo llamaria como "Desplegar el array en variables separadas"

Re: Creo que esto depende de Harbour...

PostPosted: Sat Mar 02, 2024 3:05 pm
by VictorCasajuana
Hola.
La técnica a la que te refieres es desestructuración de arrays. En JavaScript se utiliza:https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
En harbour no me suena haberlo visto nunca, aunque sería muy bueno poder tenerlo.
Salud!

Enviado desde mi motorola edge 20 mediante Tapatalk

Re: Creo que esto depende de Harbour...

PostPosted: Sat Mar 02, 2024 5:31 pm
by goosfancito
VictorCasajuana wrote:Hola.
La técnica a la que te refieres es desestructuración de arrays. En JavaScript se utiliza:https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
En harbour no me suena haberlo visto nunca, aunque sería muy bueno poder tenerlo.
Salud!

Enviado desde mi motorola edge 20 mediante Tapatalk


Bien ahi! esa palabra no me acordaba.