Lua在运行时获取对象的类名

时间:2016-04-29 18:08:10

标签: lua runtime classname

我想知道是否有办法在运行时获取对象的类名。 我的意思是这样的: 这是我非常简单的剧本

person=TPerson:new()

我希望在我的应用程序(在delphi中)获得“TPerson” 我尝试使用lua调试信息,但我知道得到的是函数“new”,但我需要上课“TPerson”

 lua_getstack(l,0,PL_Debug); 
 lua_getfield(l,LUA_GLOBALSINDEX,'f');
 lua_getinfo(l,'n',PL_Debug);   
 nameOfCurrnetFunction:=PL_Debug.name; // here is stored "new"

有可能获得课程名称吗? 感谢

1 个答案:

答案 0 :(得分:3)

正式地说你没有Lua中的类,所以对象的类型总是表。当然,您可以自由地实现一些函数,该函数将自定义类型名称作为字符串返回。 Lua-wise它仍将是一个艰难的表格