Lua 中是否有类似于 Python 的 dir(obj) 和 help(obj) 的功能?

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

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

help 返回对象的 doc strings

原文链接 https://stackoverflow.com/questions/10272687

点赞
stackoverflow用户734069
stackoverflow用户734069

Lua 没有“doc strings”的概念。

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

for k, v in pairs(obj) do
  --Do stuff with k(ey) and v(alue)
end

注意,这会触发元方法,因此表的“真正”内容是未知的。不过,如果创建该对象的人希望你获得真正的内容,他就不会使用元方法来保护它们。

2012-04-22 23:10:38
stackoverflow用户6923399
stackoverflow用户6923399
function dir(obj)
    for k, v in pairs(obj) do print(k) end
end

这是一个类似 Python 中 “dir” 函数的 Lua 函数。

2016-10-05 12:20:04