作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 lua_rawlen 获取表格长度,代码如下
lua_createtable(L, 0, 0);
lua_pushstring(L, "k0");
lua_pushstring(L, "v0");
lua_settable(L, -3);
lua_pushstring(L, "k1");
lua_pushstring(L, "v1");
lua_settable(L, -3);
printf("%d\n", lua_rawlen(L, -1));
最佳答案
函数lua_rawlen
在不调用可选元方法的情况下返回序列的长度 __len
.它相当于 Lua 函数 rawlen
,与 #
相同当没有这样的运算符时 __len
元方法。
你的表不是一个序列,因为你只放了字符串键。序列的键必须是从 开始的连续整数1 .而不是 "k0"
和 "k1"
对于 key ,请尝试使用 1
和 2
分别。
示例:
lua_createtable(L, 0, 0);
lua_pushstring(L, "v0");
lua_rawseti(L, -2, 1);
lua_pushstring(L, "v1");
lua_rawseti(L, -2, 2);
printf("%d\n", lua_rawlen(L, -1));
关于lua - lua_rawlen 如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13027750/
我正在尝试使用 lua_rawlen 获取表格长度,代码如下 lua_createtable(L, 0, 0); lua_pushstring(L, "k0"); lua_pushstring(L,
我是一名优秀的程序员,十分优秀!