github.com/dfklegend/cell2/utils@v0.0.0-20240402033734-a0a9f3d9335d/golua/_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