gpt4 book ai didi

c - Lua C API - 将属性映射到函数

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

是否可以将函数作为 Lua 中的属性推送?

现在,我可以通过将它们作为字段推送来获得 Get/Set 函数,如下所示:

lua_pushcfunction(L,L_Getter);
lua_setfield(L, -2, "GetValue");

lua_pushcfunction(L,L_Setter);
lua_setfield(L, -2, "SetValue");

并像这样在 Lua 中调用它们:
MyObject:SetValue("NewValue")

是否可以在没有元表的情况下推送映射到 C 函数的属性?我可以映射 __index__newindex在元表中转换为自定义函数,但我想知道是否有更简单的方法。最终,我想要没有元表的以下语法:
MyObject.CValue = 1
print(MyObject.CValue)

如果没有 __index,这可能吗?和 __newindex ?

最佳答案

没有元表?不。元方法是调用函数来评估的唯一方法 tbl.foo .您可以制作 MyObject一个用户数据,但同样需要一个元表来提供 __index元方法。

学会喜欢元表。它们是 C/Lua 集成的支柱。

关于c - Lua C API - 将属性映射到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19306236/

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