[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: luajit: any way to make array initialization zero-based?
- From: Chris <coderight@...>
- Date: Wed, 13 Jun 2012 18:07:47 -0400
In LuaJIT there is no penalty for using zero-based indexing, it's even
recommended but the problem is that the Lua tables (non-FFI) are not
by default zero-based. For example:
foo = { 0, 1, 2, 3 }
You will get a one-based array. Understandable to be compatible with
regular Lua code but annoying if you have no need for that. It's very
confusing for end users when you're using LuaJIT as a scripting
language and using FFI. In fact it's confusing for me too, I can't
count how many times I use the wrong index. Forcing the FFI types to
use one-based indexing doesn't work either when that data needs to go
to a native API (eg. OpenGL vertex data or something; it can be faked
but you take a serious performance hit). Off the top of my head I
can't think of any other of the API functions that are one-based by
default but those would need to be patched as well if there are any.
Anybody have a patch to "fix" this? I suppose something to make the
FFI arrays one-based would work just as well. I would just like it to
be consistent across the board, whatever scheme. Compile option for
LuaJIT would be awesome, maybe it's already there.
Thanks
CR