为什么尝试追加后会出现错误?

table1 = {1,2,3,4,5}
table2 = {1,2,3,4}
metatable ={__add = function(table,otherTable)
    sumTable = {}
    for i=1, #table do
     table.insert(sumTable,table[i])
    end
    for i=1, #otherTable do
     table.insert(sumTable,otherTable[i])
    end
    return sumTable
end
}
setmetatable(table1,metatable)

table1 = table1 + table2

运行程序后出现以下错误:

lua: [string ""]:6: 尝试调用字段'insert'(一个空值) 调用堆栈: [string ""]:6: in function <[string ""]:3> [string ""]:16: in main chunk

原文链接 https://stackoverflow.com/questions/68984196

点赞
stackoverflow用户107090
stackoverflow用户107090

你的 __add 代码使用了 table 作为参数,这个参数与 table 库重名了。请将参数重命名为其他名称。

2021-08-30 13:24:39