gpt4 book ai didi

c++ - 如何在 Lua C API 中分配全局 Lua 函数变量?

转载 作者:行者123 更新时间:2023-11-30 03:16:34 25 4
gpt4 key购买 nike

我正在尝试重命名 Lua 中的一些函数,以便更轻松地调用它们。

例如,of.getHours() 函数应该能够被ofGetHours() 调用。

所以在初始化 Lua 状态之后,我加载了一个 Lua 字符串,它分配这些全局函数变量,如下所示:

luaL_dostring(L, "ofGetHours = of.getHours ofGetMinutes = of.getMinutes");

此方法工作正常,但我想使用 Lua C API 来执行此操作以提高性能并使我的代码更具可读性。

我想我需要使用 lua_setglobal() 但我不知道如何正确地使用它。任何帮助将不胜感激。

最佳答案

假设 os 值是一个全局表,您的代码可能如下所示:

lua_getglobal(L, "of");
lua_getfield(L, -1, "getMinutes");
lua_setglobal(L, "ofGetMinutes");
lua_getfield(L, -1, "getHours");
lua_setglobal(L, "ofGetHours");
lua_pop(L, 1);

关于c++ - 如何在 Lua C API 中分配全局 Lua 函数变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56230959/

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