Lua: Obter o nome literal do parâmetro
Pergunta
Por exemplo,
function test (a)
name = nameof(a)
print(name)
end
test(def) --should print "def"
Existem truques de lua de implementar algo semelhante ao anterior?
Não que necessidades alguém para explicar por que eles querem fazer alguma coisa; algumas pessoas ficam mal-humorado se não é dado um exemplo da vida real. Assim:
local function registerTestSuite(suite)
if (LUnit) then
LUnit:AddTestSuite(
HotNReady.."_"..GetVariableName(suite), --HotNReady_PizzaTestSuite
suite);
end;
end;
Solução
O que você pedir não é possível em pura Lua.
Se você realmente precisa disso, tente mexer com Metalua .
Outras dicas
Tente utilizar o depuração biblioteca.
Você pode usar debug.getlocal ([thread,] level, local)
para obter informações sobre uma variável local, incluindo o seu nome.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow