0

我正在使用以下 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

但是,当返回 exec 键的值时,我得到一个十六进制的内存位置。例如,一行输出如下:

table: 07x7fdc5b2538f0
4

1 回答 1

1

正如我在你之前的问题上回答的那样;你需要递归调用一个函数。这里有一个示例程序。

function DeepPrint (e)
    -- if e is a table, we should iterate over its elements
    if type(e) == "table" then
        for k,v in pairs(e) do -- for every element in the table
            print(k)
            DeepPrint(v)       -- recursively repeat the same procedure
        end
    else -- if not, we can just print it
        print(e)
    end
end
于 2013-04-15T05:06:01.740 回答