[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Wrong number of elements in stack ...
- From: "D Burgess" <db@...>
- Date: Sat, 8 May 2004 1:23:35 +1000
Thank you for enlightening me. I had wondered about this
for some time. I guess I should read the manual more often.
regards
David B
Philippe Lhoste <PhiLho@GMX.net> wrote:
>D Burgess wrote:
>> I do not know whether is normal, but it happens.
>> It is not just your C++ function.
>>
>>>print(gcinfo())
>>
>> 21 29
>>
>>>print(gcinfo(),1)
>>
>> 22 1
>>
>>>print(1,gcinfo())
>>
>> 1 22 29
>>
>> regards
>> DB
>>
>> Gil Damoiseaux <gil@neurotv.be> wrote:
>>
>>
>>>Hi,
>>>
>>> I'm using Lua since some months now, and I've come across a problem today
>>>that I've never noticed. I have a C++ function that returns 3 integers, let
>>>says a GetPosition() that return x,y and z.
>>>
>>>when I do:
>>> print(GetPosition())
>>>I have :
>>> 12 34 55
>>>
>>>But when I do
>>> print(GetPosition(),99)
>>>I have:
>>> 12 99
>>>
>>> Is this really normal? Or did I miss something?
>>>
>>>Thanks in advance,
>>>
>>>Gil Damoiseaux, ITV engineer, www.neurotv.be
>
> From the manual (2.5.7 - Function Calls):
>
>Because a function can return any number of results (see 2.4.4), the number of
>results must be adjusted before they are used. If the function is called as a
>statement (see 2.4.6), then its return list is adjusted to zero elements, thus
>discarding all returned values. If the function is called inside another expression
>or in the middle of a list of expressions, then its return list is adjusted to one
>element, thus discarding all returned values except the first one. If the function is
>called as the last element of a list of expressions, then no adjustment is made
>(unless the call is enclosed in parentheses).
>
>Looks like your problem...
>
>--
>--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--
>Philippe Lhoste (Paris -- France)
>Professional programmer and amateur artist
>http://jove.prohosting.com/~philho/ (outdated)
>http://phi.lho.free.fr (in French, for files to download)
>--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--