Lua:如何确定元素是否是表而不是字符串/数字?

时间:2012-07-21 03:22:36

标签: lua lua-table

正如标题所说,我可以做什么功能或检查以确定lua元素是否是一个表?

local elem = {['1'] = test, ['2'] = testtwo}
if (elem is table?) // <== should return true

4 个答案:

答案 0 :(得分:29)

print(type(elem)) -->table

Lua中的type函数返回它的第一个参数是什么数据类型(string)

答案 1 :(得分:17)

在原始问题的背景下,

local elem = {['1'] = test, ['2'] = testtwo}
if (type(elem) == "table") then
  -- do stuff
else
  -- do other stuff instead
end

希望这有帮助。

答案 2 :(得分:7)

您可能会发现这有助于提高可读性:

local function istable(t) return type(t) == 'table' end

答案 3 :(得分:2)

使用type()

local elem = {1,2,3}
print(type(elem) == "table")
-- true