卢阿:获取参数的文字名称(Lua: Get the literal name of the para

2019-08-05 16:48发布

例如,

function test (a)
    name = nameof(a)
    print(name)
end

test(def) --should print "def"

是否有任何LUA技巧来实现类似上述的东西吗?


这并不是说任何人都需要解释为什么他们想要做的事; 如果他们不给现实生活中的例子有些人会脾气暴躁。 所以:

local function registerTestSuite(suite)
   if (LUnit) then
      LUnit:AddTestSuite(
            HotNReady.."_"..GetVariableName(suite), --HotNReady_PizzaTestSuite
            suite);
   end;
end;

Answer 1:

你有什么要求在纯Lua是不可能的。

如果你真的需要这一点,尝试摆弄Metalua 。



Answer 2:

尝试使用调试库 。

您可以使用debug.getlocal ([thread,] level, local)获得有关局部变量的信息,包括其名称。



文章来源: Lua: Get the literal name of the parameter