Lua 将多个字符串存储在单个表元素中

-- 将从命令行中获取的值存储在表元素中并将其打印回来

--

my_table = {}

local my_arg_count = (#arg)
print (my_arg_count)

for count = 1,my_arg_count do
    print ("count:"..count..":")
    if my_table[1] ~= nil then
        my_val = my_table[1]
        print ("my val:"..my_val..":")
        my_table[1] = print (my_val,"\n",arg[count])
    else
        print ("my table is nil. . . on noes!")
        my_table[1] = arg[count]
    end
end

for i=1,table.maxn(my_table) do
    print ("Index: "..i..":")
    print (my_table[i])
end

上面是来自一个测试的代码;我想能够以单个表元素的形式获取多个任意文本字符串。就像这样:

my_table["stuff_bob_says"] = "Blah blah"

接下来,我想能够添加到索引"stuff_bob_says",使之变为:

stuff_bob_already_said = my_table["stuff_bob_says"]

my_table["stuff_bob_says"] = "stuff_bob_already_said" + "yakety smackety"

这是可能的吗?我认为这应该可以通过字符串实现......但测试的输出结果不太对。

点赞
用户9185797
用户9185797

当我正确理解你的问题时,你想要将一个字符串添加到现有的表项中。可以使用以下方法轻松完成:

my_table["stuff_bob_says"] = my_table["stuff_bob_says"] .. "next string to add"

这仅适用于表项已经存在且是字符串的情况。

要将表中的多个字符串连接成单个表项,可以使用以下方法:

input = { "a", "b", "c" }
output = { }

for _, text in pairs(input) do
    output["key"] = output["key"] .. text
end

-- use output
2020-01-21 09:10:47