[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: Another table question...
- From: "Jerome Vuarand" <jerome.vuarand@...>
- Date: Wed, 9 Apr 2008 11:04:03 -0400
Jerome Vuarand wrote:
> Eugen-Andrei Gavriloaie wrote:
>> Here is a piece of lua script:
>>
>> a={some_key="some value...",some_other_key=233.2,"value without key"}
>>
>> [...]
>>
>> Normally I do:
>>
>> lua_createtable();
>> lua_push... //key
>> lua_push... /value
>> lua_settable(L, -3);
>>
>> But lua_settable is extracting 2 elements from the stack. What should
>> I put instead of the first lua_push to obtain an auto assigned key?
>
> You can't get the exact same result without tracking the number of
> "auto-assigned" keys yourself, but you can use the following to have
> a similar result:
>
> lua_push...(L, value);
> lua_rawseti(L, -2, lua_objlen(L, -2));
There is an obvious mistake in the above, correct code is:
lua_push...(L, value);
lua_rawseti(L, -2, lua_objlen(L, -2) + 1); /* < note the +1 */