除了遍历整个table,如何通过C Apis找出给定的Lua table是否有特定的key?

How to find out whether there is a specific key for a given Lua table through C Apis besides traversing the whole table?

如何通过 C Apis 找出给定 Lua table 是否有特定键?

我知道遍历整个table可以达到这个目的,但是效率不高。 有没有更好的方法?

只需检查 yourtable[yourkey] 是否为 nil

您总是将键值对放入table。没有值,没有键。

您想要的功能是lua_gettable

首先,按 table,然后按您要检查的键。那么你应该可以做到 gettable(L, -2) != LUA_TNIL.