【问题标题】:Unable to Print Lua Table Key\Index & Values无法打印 Lua 表键\索引和值
【发布时间】:2020-12-26 12:45:57
【问题描述】:

从游戏 API(魔兽世界)接收的表格会打印以下整体结果

local sometbl = APICommand("args");
print(sometbl) --prints table: 000001F492F31.... 

基本上是我推测的一些内存地址。

在尝试 print(sometbl[1]) 或 print(sometbl[2]) 时,输出为 nil

尝试中

for key, value in next, sometbl do
    print(key .. " ".. value)
end

for key, value in pairs(sometbl) do
    print(key .. " ".. value)
end

for key, value in ipairs(sometbl) do
    print(key .. " ".. value)
end

这些都不会产生任何输出。

the print(sometbl) still prints said memory reference

如何打印该特殊表格的全部内容?

【问题讨论】:

标签: lua add-on world-of-warcraft


【解决方案1】:

您也可以使用/dump 命令来更轻松地检查(空)表,例如/dump APICommand("args")

【讨论】:

    【解决方案2】:

    如果

    for key, value in pairs(sometbl) do
        print(key .. " ".. value)
    end
    

    不打印表格为空。所以没有要打印的内容。

    如果表为空,next(sometbl) 将返回 nil。

    【讨论】:

    • 等一下,空表还是会输出:table: 000001F492F31....尝试打印时(sometbl)?
    • 打印一个表值会给你类似“table: 0xa6f7b0”的东西,它是那个表的标识符,但当然一个表可能是空的。试试print{} 自己看看
    • 好的,正在尝试本地 emptyTable = {}; print(emptyTable) 产生类似的结果。谢谢@Piglet(哈哈,有趣的昵称:P)
    猜你喜欢
    • 2021-03-19
    • 1970-01-01
    • 2013-04-08
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多