2

関数を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ですか?

4

1 に答える 1