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

Lua脚本需求:将字符串单词填入表格并输出可复制表格结构

Lua脚本修正:将输入单词填入预设表格

我编写了一段Lua脚本,希望将输入字符串中的3个单词填入预设表格,最终输出可直接复制粘贴的表格结构。

当前脚本

local tbl = {
    {1, "", 0},
    {2, "", 0},
    {3, "", 0}
}

local input = "i hate debugging"
local words = {}
x = 0
repeat
    x = x + 1
    for i, v in ipairs(tbl) do
        if tonumber(v[1]) == x then
            for word in input:gmatch"[^ ,\r\n]+" do
                table.insert(words, word)
            end
        end
    end
until x == 1

期望输出

{1, "i", 0},
  {2, "hate", 0},
  {3, "debugging", 0},

问题分析与修正方案

原脚本逻辑冗余且终止条件错误:仅循环到x==1,未处理第2、3行;还会重复将所有单词插入words表,导致数据冗余。

以下是修正后的简洁脚本:

-- 预设表格
local tbl = {
    {1, "", 0},
    {2, "", 0},
    {3, "", 0}
}

-- 输入字符串
local input = "i hate debugging"
-- 拆分输入为单词列表
local words = {}
for word in input:gmatch("[^%s,]+") do
    table.insert(words, word)
end

-- 将单词对应填入表格
for i, row in ipairs(tbl) do
    row[2] = words[i] or row[2]  -- 单词数量不足时保留原空值
end

-- 输出可直接复制的格式
for _, row in ipairs(tbl) do
    print(string.format("  {%d, \"%s\", 0},", row[1], row[2]))
end

修正说明

  • 拆分单词:用gmatch("[^%s,]+")一次性提取输入中所有非空白、非逗号的单词,存入words表。
  • 填充表格:遍历预设表格,通过索引对应将单词填入每行的第二个字段,兼容单词数量不足的情况。
  • 输出格式:用string.format按期望格式输出每行内容,直接复制即可使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:55:23