-- ローカル変数の一覧を取得 function locals() local i = 1 local t = {} while true do local k, v = debug.getlocal(2, i) if k == nil then break end t[k] = v i = i + 1 end return t end function foo() local x = 1 local y = "hello" return locals(), nil end for k, v in pairs(foo()) do print(k, v) end