Если не будет третьего варианта и ты боришься за то, чтоб уместить всё в одну строку - то ок варик
Можно даже сделать так, чтобы if str:match("patternsms") then status = 1 elseif str:match("patternmms") == nil then die("error") end
То есть если elseif не сработает (ни sms ни mms нет в строке), то он выйдет. А если будет mms, то переменной status не будет, вместо того чтобы присваивать ей 2
Можно даже сделать так, чтобы if str:match("patternsms") then status = 1 elseif str:match("patternmms") == nil then die("error") end
То есть если elseif не сработает (ни sms ни mms нет в строке), то он выйдет. А если будет mms, то переменной status не будет, вместо того чтобы присваивать ей 2
Я бы в качестве future proof запилил на цикле, типа того, что написал @djapananda и перешёл к следующей задаче