Lua __pairs 在C中的实现

我已经在C中实现了一个简单的持久化键值内存。对于这个内存,我实现了一个Lua 5.3绑定,具有以下API:

    local store = require("store")

    local db = store.open("/test.db")
    db["a"] = "first"
    db["b"] = "second"
    db["c"] = "third"

    print(db["a"])
    print(db["b"])
    print(db["c"])

db是一个用户数据对象。

现在我想在C中实现__pairs元方法,以便可以进行以下迭代:

    for i,v in pairs(db) do
        print(i, v)
    end

但我找不到任何C的示例。 有人以前做过这个,可以给我一个例子吗?

点赞