Lua: Obtenir le nom littéral du paramètre
Question
Par exemple,
function test (a)
name = nameof(a)
print(name)
end
test(def) --should print "def"
Existe-t-il des astuces pour créer quelque chose de similaire à ce qui précède?
Ce n'est pas que quiconque ait besoin d'expliquer pourquoi ils veulent faire quelque chose; certaines personnes deviennent grincheuses si on ne leur donne pas un exemple concret. Donc:
local function registerTestSuite(suite)
if (LUnit) then
LUnit:AddTestSuite(
HotNReady.."_"..GetVariableName(suite), --HotNReady_PizzaTestSuite
suite);
end;
end;
La solution
Ce que vous demandez n'est pas possible en Lua pur.
Si vous en avez réellement besoin , essayez de vous amuser avec Metalua .
Autres conseils
Essayez d’utiliser la bibliothèque de débogage .
Vous pouvez utiliser debug.getlocal ([thread,] level, local)
pour obtenir des informations sur une variable locale, y compris son nom.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow