能否在标准库中覆盖一个函数后继续调用它?

Lua 有各种操作表格的函数,例如 'table.insert()'。但如果这个函数被覆盖了呢?

例如:

function (table)
end

'table' 的值是传递的任何值,我再也不能使用标准库中以前通过全局'table'访问器访问的表格函数。

点赞
用户1642975
用户1642975

你应该能够通过全局表_G来访问全局变量,因此在这种情况下,你只需使用_G.table来访问全局table对象,而不是遮盖函数参数。

2018-06-28 08:18:31
用户4403144
用户4403144

谁覆盖了table变量?如果是你,那么首先将原始的table赋值给另一个变量:

luaTable = table

然后进行重新赋值:

table = somethingElse

之后,你可以访问原始的table函数:

luaTable.insert()
2018-06-28 21:54:34