[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Multi-value functions and tables
- From: erik@... (Erik Hougaard)
- Date: Tue, 26 Jun 2001 14:02:51 +0200
Hi Hans Ole,
Please take a look the "call" function!
/Erik
----- Original Message -----
From: "Hans Ole Rafaelsen" <hansr@cs.uit.no>
To: "Multiple recipients of list" <lua-l@tecgraf.puc-rio.br>
Sent: Tuesday, June 26, 2001 1:54 PM
Subject: Multi-value functions and tables
> Hello,
>
> I'm wondering if it is possible to store the result of a function
> returning multiple values in tables.
>
> Given the following functions:
>
> function fun1(arg)
> return arg * 2
> end
>
> function fun2(arg)
> local r1, r2
>
> r1 = arg * 2
> r2 = arg * 3
>
> return r1, r2
> end
>
>
> and the following tabels:
>
> tab1 = {
> attr1 = 2
> }
>
> tab2 = {
> attr1 = fun1(tab1.attr1),
> attr2, attr3 = fun2(2) -- <---- This results in an error!
> }
>
> attr2, attr3 = fun2(2) -- <---- While this is a legal statement
>
>
> The problem is to store both values returned from fun2() in tab2. The
> problem seems to be the use of "," to sperate elements (attr2 and
> attr3) in the table. I have search the documentation, but I have not
> been able to find a way to make it work the same way for tables as it
> does for the code outside tables. Is there a way to do this, or do I
> have to re-write my functions?
>
> Regards,
>
> Hans Ole Rafaelsen
>
>
>