雖然我已經越來越熟悉Lua中的gsub,但我在這裏感到茫然。有可能有更好的方式來更有效地做到這一點,這就是我正在尋找的。什麼我希望做的是改變:使用string.gsub最有效地將x更改爲y(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, ";;",";")
但對我來說,這看起來很sl,,並不像我想要的那樣高效。如果「)」結束該行,它也會出現問題,並且會放入「;」那裏,這不是我想要的。我會感謝更熟悉Lua的人的專業知識,他們可以整理這些信息並使其更高效。一旦所有事情都說完了,我會把它變成一個功能。謝謝!
編輯:在測試的是,它甚至不工作,反正...我想不出合適的模式匹配序列使用,使其在所有的工作......
有一些原因,「效率」是一個問題? –
更快的代碼編譯,我想。此外,它使未來更容易查看,因此我稍後不會再看它,並說'我在這裏嘗試了什麼?我正在尋找的最終結果只是一種更加整潔的方式;它將會幫助我將來的項目,因爲我仍然在學習Lua。 – Josh
不要忘記字符串是不可變的,所以你需要記住每次調用'string.gsub'的結果:'variable = string.gsub(variable,「;;」,「;」)'。我也會保存一些類型,並將其寫成'variable = variable:gsub(「;;」,「;」)'只要我確定'variable'總是一個'string'。 – RBerteig