4 ms·
Lua actually has arbitrary indexing, it's just that some iterator functions in the standard library assume arrays begin at 1.
by teamonkey 1y ago
Lua actually has arbitrary indexing, it's just that some iterator functions in the standard library assume arrays begin at 1.
- gsck 1y agoIt does and doesn't. You can have any arbitrary index, but that changes the table from being an array to being both an array and a dictionary, some real weird Frankenstein stuff
- delusional 1y ago> but that changes the table from being an array to being both an array and a dictionary You're confusing the definition of the language with the implementation. In implementation you're right, most runtimes will treat arrays starting at 1 as a special case and optimize that access. The language itself doesn't make that distinction though. Here an array is simply any table indexed by integers. The documentation states it's thusly: You can start an array at index 0, 1, or any other value