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