我在cjson.lua中发现错误: '<name>' expected near 'local',请问如何解决?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在cjson.lua中发现错误: '<name>' expected near 'local',请问如何解决?相关的知识,希望对你有一定的参考价值。
那一行是local isArray = __tostring = function() return "JSON array" end isArray.__index = isArray
参考技术A local isArray = __tostring = function() return "JSON array" end isArray.__index = isArray这句本身没有问题, 一般出现问题是因为从网上拷贝的代码, 空白的地方可能用了中文全形,
你试改为英文输入, 重新输入一次整句可能就没有问题。
另外,如果你需要打印错误信息, 例如:
print ("isArray=" , isArray); // 111
print ("isArray=" .. isArray); // 222
111 这个方法试可以的, 但是222 就不行, 用 , 分隔可以自动调用后面的 isArray
改为可以打印的显示模式, 使用 .. 则不能自动转换为字符追问
那再请教大师一个问题:JSON = (loadfile "JSON:l")()这句提示出错信息:
>lua -e "io.stdout:setvbuf 'no'" "cjson.lua"
lua: cjson.lua:16: attempt to call a nil value
stack traceback:
cjson.lua:16: in main chunk
[C]: ?
cocos2dx 启用cjson
在appDelegate.cpp文件中添加
#if __cplusplus extern "C" // 加入此代码的目的,防止污染引擎的scripting目录 #include "lua/cjson/lua_cjson.h" void register_cjson(lua_State *L) lua_getglobal(L, "package"); lua_getfield(L, -1, "preload"); lua_pushcfunction(L, luaopen_cjson); lua_setfield(L, -2, "cjson"); lua_pop(L, 2); // extern "C" #endif
然后调用register_cjson(L);
如果有报错:
lua_cjson.c:1328:13: Static declaration of ‘luaL_setfuncs’ follows non-static declaration
解决方案:去掉static声明
以上是关于我在cjson.lua中发现错误: '<name>' expected near 'local',请问如何解决?的主要内容,如果未能解决你的问题,请参考以下文章
在 Openresty 中使用 cjson Lua 模块解析缺少字段的 JSON
获取错误 - AttributeError:'module'对象在运行subprocess.run时没有属性'run'([“ls”,“ - l”])
OpenCVmissing ';' before identifier 'PVOID64' (转)