Вопрос

Например,

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;
Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top