Creo que esto depende de Harbour...

Post Reply
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Creo que esto depende de Harbour...

Post 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

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

nValor1, nValor2, nValor3:=  ::guardarFactura( oDescripcion )
Gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
acuellar
Posts: 1645
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Creo que esto depende de Harbour...

Post by acuellar »

Etimado goosfancito

Hacerlo así:

Code: Select all | Expand

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

Adhemar C.
User avatar
cmsoft
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Creo que esto depende de Harbour...

Post by cmsoft »

acuellar wrote:Etimado goosfancito

Hacerlo así:

Code: Select all | Expand

nValor1:= nValor2:= nValor3:=  ::guardarFactura( oDescripcion )
 
Pero si los 3 valores son distintos va a ponerles a todos el mismo valor, no?
User avatar
Willi Quintana
Posts: 1023
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Re: Creo que esto depende de Harbour...

Post by Willi Quintana »

HOla Sr.. prueba asi:

Code: Select all | Expand

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

 
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Re: Creo que esto depende de Harbour...

Post by goosfancito »

Gracias a los tres.

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

Code: Select all | Expand

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"
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
VictorCasajuana
Posts: 268
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs
Contact:

Re: Creo que esto depende de Harbour...

Post 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
--------
¿ Y porque no ?
¿ And why not ?
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Re: Creo que esto depende de Harbour...

Post 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.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Post Reply