Я использовал SWIG для привязки набора классов к lua. Я знаю, что сам C++ не поддерживает патч обезьяны, и я не пытаюсь изменить мои объекты на C++, а просто их представления lua. Проблема возникает, если я хочу начать обезглавливать таблицы lua и объекты, экспортированные SWIG, чтобы я мог модифицировать API, представленный на стороне lua.Lua + SWIG Monkey Patching
например. следующий код lua:
game.GetEnemies1 = game.GetEnemies2
не работает должным образом. Поведение после этой строки по-прежнему согласуется с исходным GetEnemies1, а не с GetEnemies2.
Как я могу бороться с этой проблемой?
Я понимаю, что замена метода в lua с использованием патчей обезьян будет влиять только на код lua, и что обезьяна-патч C++ сама по себе невозможна, но это мое намерение. Есть определенные методы C++ Id, как для патча обезьяны на конце Lua, чтобы сделать их более приятными или даже просто переименовать –