Результаты являются только проблемой, потому что вы используете print
, который принимает несколько параметров.Lua допускает несколько назначений, поэтому обычно код будет выглядеть как
newstr, n = string.gsub("My string", "str", "th")
, но подсчет предоставляется только при наличии места для его размещения, поэтому
newstr = string.gsub("My string", "str", "th")
тоже подойдет,и вызывает сброс счетчика.Если вы используете print
напрямую (то же самое относится и к return
), вы должны заключить вызов в скобки, чтобы отменить все, кроме первого результата.