Lua: Получить буквальное имя параметра - PullRequest
11 голосов
/ 13 сентября 2009

Например,

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;

Ответы [ 2 ]

4 голосов
/ 14 сентября 2009

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

Если вам действительно нужно это, попробуйте поиграть с Metalua .

1 голос
/ 13 сентября 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...