Я пытаюсь создать базовый калькулятор. Я принимаю пользовательские команды в виде строки. Например, считаю входные данные 5 + 3-2 / 5 в этой строке, мне нужно сосчитатьсколько чисел и операторов здесь. Итак, что может быть решением для этого?
gsub возвращает количество выполненных замен.Попробуйте этот код:
gsub
s="5+3-2/5" function count(s,p) local _,n=s:gsub(p," ") return n end print(count(s,"%d+")) print(count(s,"[+%-*/]"))
Код предполагает, что числа являются целыми числами.