You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lua嵌套表筛选问题:如何输出ordered=true的完整元素信息

修正Lua代码实现预期输出

你的代码存在两个关键问题:

  1. 内层循环匹配到ordered=true时,打印amount字段错误使用了当前循环的d(即ordered的值true),而非子表中amount的实际数值。
  2. 无需遍历子表的所有字段,直接判断子表的ordered字段即可,逻辑更简洁高效。

修正后的代码如下:

Fruits = { apple = { ordered = true, amount = 10 }}

for fruit_name, fruit_info in pairs(Fruits) do
    if fruit_info.ordered == true then
        print(fruit_name .. " ordered: " .. tostring(fruit_info.ordered) .. " | " .. fruit_name .. " amount: " .. tostring(fruit_info.amount))
    end
end

运行后会输出预期结果:

apple ordered: true | apple amount: 10

补充说明

  • 直接通过fruit_info.ordered判断是否符合筛选条件,省去了不必要的内层循环遍历。
  • 打印时直接调用子表的amount字段值fruit_info.amount,确保获取到正确的数值。

内容的提问来源于stack exchange,提问作者Bkbbkk Kkbbkb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:12:53