Как одна забытая local ломает Lua‑код и почему эту ошибку так сложно найти
В Lua достаточно забыть local перед переменной, чтобы получить баг, который может долго оставаться незамеченным. По отдельности функции работают исправно, тесты проходят, а после подключения нового модуля внезапно начинают пропадать данные или меняться результаты вычислений. Разберёмся, как глобальные переменные создают такие ловушки, чем опасны манипуляции с G и ENV и как защитить код от ошибок, зависящих от порядка вызовов и загрузки модулей. Разобраться в проблеме
https://habr.com/ru/companies/otus/articles/1092160/
#замыкания #глобальные_переменные #отладка_кода #lua #статический_анализ_кода #ошибки_программирования #локальные_переменные #область_видимости_переменных #luacheck #изоляция_модулей