在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在测试特殊字符串处理时,截取为单个字符,采用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) 返回一个迭代器,迭代器每执行一次,返回下一个匹配串,从字符串 注: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 |
请发表评论