См. Комментарий Phrogz: subWords и output - это одна и та же таблица.
Обратите внимание, что в Lua значения таблиц равны ссылкам , поэтому:
t1 = {}
t2 = t1
t3 = t2
t4 = t3
// all four of these variables refer to the *same* table
print(t4.food) -- nil
t1.food = "donut"
print(t4.food) -- donut
Что происходитс вашим кодом то, что subWords
и output
ссылаются на одну и ту же таблицу.Когда вы перебираете элементы в этой таблице, вы добавляете в нее новых элементов, поэтому цикл никогда не будет завершен.
Я знаю, вы сказали, что это не так, но этоединственное, что могло вызвать эти симптомы.Попробуйте output = {}
перед циклом, и вы увидите, что проблема исчезнет.Или вы могли бы assert(output ~= subWords)
или print(output, subWords)
увидеть, что они одинаковы, но я не знаю, как Roblox обрабатывает эти функции (у него может не быть консоли вывода и / или он может перехватывать ошибки).