问题描述
如何通过C APIs找出给定的Lua表是否有特定的key?
我知道遍历整个表可以达到这个目的,但这不是一种有效的方法。 有没有更好的方法?
解决方法
只需检查 yourtable[yourkey]
是否为 nil
您总是将键值对放入表中。没有价值,没有钥匙。
,您想要的函数是 lua_gettable
。
先按表,再按你要检查的键。那么您应该可以执行gettable(L,-2) != LUA_TNIL
。
如何通过C APIs找出给定的Lua表是否有特定的key?
我知道遍历整个表可以达到这个目的,但这不是一种有效的方法。 有没有更好的方法?
只需检查 yourtable[yourkey]
是否为 nil
您总是将键值对放入表中。没有价值,没有钥匙。
,您想要的函数是 lua_gettable
。
先按表,再按你要检查的键。那么您应该可以执行gettable(L,-2) != LUA_TNIL
。