Python有dir(obj)和help(obj),Lua中有等价的吗?

Joh*_*ohn 6 python lua introspection

对于任何不熟悉 Python 中这两种方法的人......

dir返回特定对象的方法/属性列表。

help返回一个对象doc strings

小智 5

让我们玩得开心:

function dir(obj)
    for k, v in pairs(obj) do print(k) end
end
Run Code Online (Sandbox Code Playgroud)

这是 Lua 中类似的 python“dir”函数。


Nic*_*las 3

Lua 没有“文档字符串”的概念。

所有 Lua 对象都是表(或用户数据,但您无法从 Lua 代码中检查用户数据。Lua 5.1 中不行;在 5.2 中,如果创建用户数据的用户希望您这样做,您可以这样做)。因此,您可以只使用现有的表方法来迭代表的内容:

for k, v in pairs(obj) do
  --Do stuff with k(ey) and v(alue)
end
Run Code Online (Sandbox Code Playgroud)

请注意,这将调用元方法,因此表的真实内容未知。话又说回来,如果创建该对象的人希望您拥有真实的内容,他就不会使用元方法来保护它们。