Lua Хранение нескольких строк в одном элементе таблицы - PullRequest
0 голосов
/ 21 января 2020

- Сохранить значения из командной строки в элементе Table и вывести их обратно

-

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"] = "Бла-бла"

Далее я хочу добавить в индекс "stuff_bob_says", чтобы:

stuff_bob_already_said = my_table ["stuff_bob_says"]

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

Возможно ли это даже? Я думаю, что это должно быть со строками. , , , но вывод из теста не совсем правильный.

1 Ответ

0 голосов
/ 21 января 2020

Когда я правильно понимаю вашу проблему, чем вы хотите добавить строку в существующую запись таблицы. Это можно легко сделать, используя:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...