You must log in or register to comment.
That’s slightly misleading, I think. There are no arrays in Lua, every Lua data structure is a table (sometimes pretending to be something else) and you can have anything as a key as long as it’s not nil. There’s also no integers, Lua only has a single number type which is floating point. This is perfectly valid:
local tbl = {} local f = function() error(":(") end tbl[tbl] = tbl tbl[f] = tbl tbl["tbl"] = tbl print(tbl) -- table: 0x557a907f0f40 print(tbl[tbl], tbl[f], tbl["tbl"]) -- table: 0x557a907f0f40 table: 0x557a907f0f40 table: 0x557a907f0f40 for key,value in pairs(tbl) do print(key, "=", value) end -- tbl = table: 0x557a907f0f40 -- function: 0x557a907edff0 = table: 0x557a907f0f40 -- table: 0x557a907f0f40 = table: 0x557a907f0f40 print(type(1), type(-0.5), type(math.pi), type(math.maxinteger)) -- number number number number