Lua读取和写入表数据。

我正在使用以下 Lua 脚本来访问和读取外部 Lua 文件:

FileStr = "lariatData-sgeT-2012-05-31.lua"
Hnd, ErrStr = io.open(FileStr, "r")
if Hnd then
    dofile(FileStr)
    for Str in Hnd:lines() do
        print(Str, "\n")
        for exec, val in pairs(sgeT) do
            print(exec.." "..val, "\n")
        end
    end
    Hnd.close()
else
    print(ErrStr, "\n")
end

然而,当返回我们执行键的值时,我得到的是一个十六进制的内存位置。例如,输出的一行如下所示:

table: 07x7fdc5b2538f0
点赞
用户1190388
用户1190388

正如我在你之前的问题回复中所说,你需要对一个函数进行递归调用。这里有一个样例程序(https://stackoverflow.com/a/11886528)。

function DeepPrint (e)
    -- 如果 e 是一个表格,我们需要迭代其元素
    if type(e) == "table" then
        for k,v in pairs(e) do -- 对于表格中的每个元素
            print(k)
            DeepPrint(v)       -- 递归重复相同的过程
        end
    else -- 如果不是,我们可以直接打印它
        print(e)
    end
end
2013-04-15 05:06:01