Lua: получить буквальное имя параметра

Например,

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;

Ответ 1

То, что вы просите, невозможно в чистом Lua.

Если вам требуется действительно, попробуйте fidingling с помощью Metalua.

Ответ 2

Попробуйте использовать библиотеку отладки .

Вы можете использовать debug.getlocal ([thread,] level, local), чтобы получить информацию о локальной переменной, включая ее имя.