gpt4 book ai didi

lua - lua_rawlen 如何工作

转载 作者:行者123 更新时间:2023-12-04 05:27:28 26 4
gpt4 key购买 nike

我正在尝试使用 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));

输出是0,好像应该是2,有什么问题吗?感谢您的任何建议。

最佳答案

函数lua_rawlen在不调用可选元方法的情况下返回序列的长度 __len .它相当于 Lua 函数 rawlen ,与 # 相同当没有这样的运算符时 __len元方法。

你的表不是一个序列,因为你只放了字符串键。序列的键必须是从 开始的连续整数1 .而不是 "k0""k1"对于 key ,请尝试使用 12分别。

示例:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com