local t = {1, 2}
local s = {3, 4}
local function add(a, b)
local result = {}
for k, v in pairs(a) do
table.insert(result, v)
end
for k, v in pairs(b) do
table.insert(result, v)
end
return result
end
local metaTable =
{
__add = add
}
setmetatable(t, metaTable)
local x = t + s
for k, v in pairs(x) do
print(k, v)
end
元表的固有元素 __add(a, b) --加法 __sub(a, b) --减法 __mul(a, b) --乘法 __div(a, b) --除法 __mod(a, b) --取模 __pow(a, b) --乘幂 __unm(a) --相反数 __concat(a, b) --连接 __len(a) --长度 __eq(a, b) --相等 __lt(a, b) --小于 __le(a, b) --小于等于 __index(a, b) --索引查询 __newindex(a, b, c) --索引更新 __call(a, ...) --执行方法调用 __tostring(a) --字符串输出 __metatable --保护元表