在一个表中获取另一个表的值

我是一名编码新手,遇到了一个表格问题。我正在尝试编写一个Minecraft计算机工艺模组中的海龟来检查小麦的状态。我需要找到一个表格中的年龄数字,在另一个表格中。

这是我所拥有的。

--检查测试
local success data = turtle.inspectDown() --获取第一个表格

if (success) then
  print("block inspected")
  for k,v in pairs(data) do
     print(k, ": ", v)
  end
else
  print(data)
end
Output:
state :  table: 1e2bb4c
name :  minecraft:wheat
tags :  table: 24b41937

我想打印表格的状态和标签,以查看它们的内容,但我无法弄清楚如何做到这一点。

点赞
用户7396148
用户7396148

你可以使用 type 来检查 v 是否是一张表格,然后打印内容。

data = {
  state ={
    some = "stateData"
  },
  name = "minecraft:wheat",
  tag ={
    some = "tagData"
  },
}

for k,v in pairs(data) do
    print(k, ": ", v)
    if type(v) == "table" then
        for l,u in pairs(v) do
            print("",l, ": ", u)
        end
    end
end

输出:

state   :   table: 0x00721c40
    someKey :   stateData
name    :   minecraft:wheat
tag :   table: 0x00727fe8
    someKey :   tagData
2020-11-30 21:57:10