lua 報錯:'=' expected near ' '

    在測試特殊字符串處理時,截取爲單個字符,採用string.gfind(s, pattern)庫函數

編譯時在for uchar in這一行(42行)出現了syntax error during pre-compilation.'=' expected near ' '  這個報錯,翻譯後是預編譯期間的語法錯誤。這個時候有點懵?,不清楚什麼地方語法有問題。開始以爲是string.gfind中傳入的字符串或者匹配串有問題,測試之後發現沒有問題。無意中注意到註釋的兩個for循環縮進比例不同,在想是不是這個地方空格有問題。

(下圖中可以發現豎線沒有連在一起,側面表明空格有問題?)

然後打開註釋把之前的空格刪掉,英文模式重新用tab鍵空格。與上圖圈中的地方有不同

再次編譯運行之後,輸出了想要的結果。出現標題所示的錯誤原因是我在寫for循環時,採用了錯誤的縮進方式,修改之後就OK了。

 

PS:string.gfind(s, pattern) 返回一個迭代器,迭代器每執行一次,返回下一個匹配串,從字符串s開頭直到結尾,pattern沒指定則每次調用產生整個匹配,通常用於泛性for循環。

注:string.gfind在Lua 5.1以後的string庫函數版本中 ,已經被string.gmatch替代。因爲luaconf.h中有兼容,所以還可以用(luaconf.h文件路徑,在引擎目錄下external/lua/luajit/include/中)。Luaconf.h是Lua5.1之後新加的文件,配置的總集, 定義了平臺相關的設置,是所有文件都包含的,即Rootly Included。如下圖所示,Lua5.1之後math庫中math.mod也被math.fmod替代。

關於luaconf.h文件詳細介紹可以參考:https://mp.csdn.net/postedit/102820809

參考資料:https://www.cnblogs.com/wongdu2014/p/9224096.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章