Я в недоумении, хотя я все больше и больше знакомлюсь с gsub в Lua. Вероятно, есть лучший способ сделать это более эффективно, и это то, что я ищу. Что я хочу сделать, это изменить:
\(port Planes)9e;\(enter pool)n2euw
в
port Planes;run 9e;enter pool;run n2euw
Кажется, что это будет просто, но я совершенно ничего не понимаю. Возможно, я мог бы объяснить это отчасти истощением, но на самом деле это не оправдание. У меня было бы так:
string.gsub(variable, ";","\(")
string.gsub(variable, "\(", ";")
string.gsub(variable, ")",";run")
string.gsub(variable, ";;",";")
Но для меня это выглядит довольно небрежно и не так эффективно, как мне бы этого хотелось. Это также создает проблему, если «)» заканчивается строкой, а это ставит «;» там, чего я не хочу. Я был бы признателен за опыт кого-то, более знакомого с Lua, который может привести это в порядок и сделать его более эффективным. Я включу его в функцию, как только все будет сказано и сделано. Спасибо!
Редактировать: после тестирования это даже не работает... и я не могу понять правильную последовательность сопоставления шаблонов, чтобы заставить ее работать вообще...
string.gsub
:variable = string.gsub(variable, ";;",";")
. Я также сэкономил бы время на наборе текста и написал бы его какvariable = variable:gsub(";;",";")
, пока я был уверен, чтоvariable
всегда равноstring
. - person RBerteig   schedule 10.10.2011