Lua中如何列出当前作用域内所有可访问的局部变量?

更新于
2026-07-26 20:42:24
13阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计315个文字,预计阅读时间需要2分钟。

Lua中如何列出当前作用域内所有可访问的局部变量?

我知道如何使用以下代码打印全局变量:pythonfor k, v in pairs(_G) do print(Global key, k, value, v)end我的问题是,如何为当前正在执行的函数访问所有可用的变量执行此操作?这可以执行。

我知道如何使用以下代码打印“所有”全局变量

for k,v in pairs(_G) do print("Global key", k, "value", v) end

所以我的问题是如何为当前正在执行的函数可访问的所有变量执行此操作,这可以执行locals()为Python执行的操作。

这是locals()函数的实现。它将从调用范围返回一个本地表:

function locals() local variables = {} local idx = 1 while true do local ln, lv = debug.getlocal(2, idx) if ln ~= nil then variables[ln] = lv else break end idx = 1 + idx end return variables end

请注意,在lua REPL中,每一行都是一个单独的块,具有不同的本地。

阅读全文
标签:所有

本文共计315个文字,预计阅读时间需要2分钟。

Lua中如何列出当前作用域内所有可访问的局部变量?

我知道如何使用以下代码打印全局变量:pythonfor k, v in pairs(_G) do print(Global key, k, value, v)end我的问题是,如何为当前正在执行的函数访问所有可用的变量执行此操作?这可以执行。

我知道如何使用以下代码打印“所有”全局变量

for k,v in pairs(_G) do print("Global key", k, "value", v) end

所以我的问题是如何为当前正在执行的函数可访问的所有变量执行此操作,这可以执行locals()为Python执行的操作。

这是locals()函数的实现。它将从调用范围返回一个本地表:

function locals() local variables = {} local idx = 1 while true do local ln, lv = debug.getlocal(2, idx) if ln ~= nil then variables[ln] = lv else break end idx = 1 + idx end return variables end

请注意,在lua REPL中,每一行都是一个单独的块,具有不同的本地。

阅读全文
标签:所有