如何检查两个表/对象在Lua中是否具有相同的标识

时间:2016-06-18 19:01:29

标签: lua identity equality

有没有办法检查两个变量是否指向Lua中的同一个表?

我想要一些操作员foo(A,B),其中:

myTable = {1, 2}
myOtherTable = {1, 2}
foo(myTable, myTable)  -- true
foo(myTable, myOtherTable)  -- false

1 个答案:

答案 0 :(得分:2)

正如评论中所提到的那样。如果您使用同一个表,则平等签名检查:

function foo(a,b)
    return a == b
end

myTable = {1, 2}
myOtherTable = {1, 2}
print(foo(myTable, myTable))  -- true
print(foo(myTable, myOtherTable))  -- false

-- live demo: http://ideone.com/7glzoj