github.com/assemblaj/gopher-lua@v0.0.0-20221116224352-d57295a0d9e8/_glua-tests/table.lua (about) 1 local a = {} 2 assert(table.maxn(a) == 0) 3 a["key"] = 1 4 assert(table.maxn(a) == 0) 5 table.insert(a, 10) 6 table.insert(a, 3, 10) 7 assert(table.maxn(a) == 3) 8 9 local ok, msg = pcall(function() 10 table.insert(a) 11 end) 12 assert(not ok and string.find(msg, "wrong number of arguments")) 13 14 a = {} 15 a["key0"] = "0" 16 a["key1"] = "1" 17 a[1] = 1 18 a[2] = 2 19 a[true] = "true" 20 a[false] = "false" 21 for k, v in pairs(a) do 22 if k == "key0" then 23 assert(v == "0") 24 elseif k == "key1" then 25 assert(v == "1") 26 elseif k == 1 then 27 assert(v == 1) 28 elseif k == 2 then 29 assert(v == 2) 30 elseif k == true then 31 assert(v == "true") 32 elseif k == false then 33 assert(v == "false") 34 else 35 error("unexpected key:" .. tostring(k)) 36 end 37 end