Вы можете установить значение существующей локальной переменной через debug.setlocal
, но как бы вы создали новую?Создать новую локальную переменную через библиотеку отладки?
ответ
Вы не можете создать новую локальную переменную таким образом. setlocal "присваивает значение значение локальной переменной с индексом local для функции на уровне уровня стека" и "возвращает nil, если нет локальной переменной с данным индексом", поэтому она не будет создавать новую переменную.
Мне это известно, я хочу, чтобы создать новую переменную через библиотеку отладки. – warspyking
Невозможно сделать это, используя библиотеку отладки. Как сказал Егор в комментарии, вы, вероятно, можете настроить байт-код, но он не будет сильно отличаться от использования этой переменной в первую очередь. –
Не думайте, что можете. Зачем вам это нужно? –
Как бы вы использовали эту новую локальную переменную? Вы не можете использовать его из своего кода (поскольку все ссылки на несуществующие локальные переменные уже сопоставлены с upvalues или глобальными переменными) –
@egor Мне нужно это для доказательства концепции, мне нужно создать локальную переменную в области вызывается функция. Есть ли другой способ сделать это? – warspyking