Можно ли вызвать функцию из стандартной библиотеки, если она была переопределена? - PullRequest
0 голосов
/ 28 июня 2018

Lua имеет различные функции для управления таблицей, такие как table.insert(). Но что, если это слово было отвергнуто?

Например:

function (table)
end

Значение table соответствует тому, что передано, и я больше не могу использовать табличные функции стандартной библиотеки, которые ранее были доступны через глобальный метод доступа table.

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Кто отверг переменную table? Если вы, то сначала установите оригинал table в другую переменную:

luaTable = table

Затем переназначение:

table = somethingElse

Вы можете получить доступ к оригинальным table функциям:

luaTable.insert()
0 голосов
/ 28 июня 2018

Вы должны иметь возможность доступа к глобальным переменным через глобальную таблицу _G, поэтому в этом случае вы просто используете _G.table для доступа к глобальному объекту table вместо аргумента функции теневого копирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...