我在文件 main.lua 中有以下代码:
local table = {data={a=1,b=2,c=3}}
setmetatable(table, table)
function table:__pairs()
return pairs(self.data)
end
function table:__tostring()
return "a table"
end
print(table)
for e in pairs(table) do
print(e)
end
当我运行时,lua main.lua
我得到输出
a table
a
b
c
当我运行时,love ~/path/to/project
我得到输出
a table
__tostring
data
__pairs
为什么 love 正确使用其他元方法,而不是对?
我有 LOVE 11.3 (Mysterious Mysteries) 和 Lua 5.3.5