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