Форматирование строк Lua в Python стиле
В Lua имеется функция string.format, позволяющая формировать строку с использованием значений переменных или вычисляемых значений. Можно ли создать механизм формирования строк, аналогичный тому, что используется в Python версии 3?
Оказывается, это несложно и не несет существенной нагрузки. Вот примерчик:
return (s:gsub('(%b{})', function(x)
return tab[x:sub(2, -2)] or "????"
end))
end
Можно даже создать собственный метаметод для строкового типа для полного фэн-шуя
print("Site URL {domain}.{zone}" % {domain = "bot4sale", zone = "ru"})
