Lua をスクリプト言語として使用する C++ で書かれたプロジェクトに取り組んでいます。デバッグを容易にするために、Lua コードを受信して実行し、戻り値を Json にエンコードして、その文字列を送り返すネットワーク デバッガーを実装しました。
私はテーブルにそれを実装することができましたが、今はユーザーデータに格納されている変数にこだわっています。たとえば、次の Lua コードがあります。
Elements.Avatar.testVar = 5
Elements.testVar = 15
return Elements
// result
{
"result0": "{Application:userdata; Avatar:userdata; Physics:userdata; testVar:15; }"
}
Application
、Avatar
およびPhysics
C++ で作成されたオブジェクトです。ただし、この 2 つtestVars
は上記のスクリプトで作成されています。
Elements
はテーブルなので、すべての要素を一覧表示できますが、 が でAvatar.testVar
あるため非表示になっているようAvatar
ですLUA_TUSERDATA
。
Lua のユーザーデータに追加された変数を検出する方法を知っている人はいますか?