Немного неясно, что вы просите здесь: способ вызова экранирующей функции всякий раз, когда задается значение переменной, или как экранировать строку для сопоставления с образцом.
Переменная - это просто хранилище для значения. Вы не можете заставить общую операцию происходить, когда установлена локальная переменная. Поэтому, если вы измените значение blah
, вам придется снова корректно экранировать строку.
Если вы спрашиваете, как избежать строки для сопоставления с шаблоном, это будет примерно так:
blah = blah:gsub(blah, "([...])", "%%%1")
Где ...
- список символов, которые вам нужно экранировать. Справочное руководство Lua содержит список, который вы можете использовать. Обратите внимание, что, поскольку это шаблон, эти символы должны * экранироваться .