Проблема, кажется, принимает ключ как локальную переменную.проверьте это сообщение
Я попробовал этот фрагмент, и он отлично работает
storeFn = _G
storeFn.Gn = {} -- limit iteration of loop "for" and don't get errors
storeFn.Gn.first = function(val) print("test first! "..val) end
storeFn.Gn.second= function(val) print("test second! "..val) end
for k, v in pairs(storeFn.Gn) do
print( assert (loadstring('return '..'storeFn.Gn.'..k..'(...)')) (math.random()) )
end
Только будьте осторожны с утечками памяти
storeFn.Gn = nil
for k,_ in pairs(storeFn) do print(k) end -- restart to original _G
Также можноиспользуйте _G.Fn={}
и после уничтожьте его _G.Fn=nil