Эй, я пытаюсь реализовать функцию слияния из сортировки слиянием в Lua. Я хорошо знаю алгоритм, но я новичок в Lua. Я продолжаю получать «неверный аргумент # 1 для« вставки »(таблица ожидалась, получена ноль)» Я считаю, что ошибка указывает на мой рекурсивный вызов. Я не могу понять это, и у меня есть чувство, что это что-то довольно тривиальное. Мне просто нужен гуру Луа, чтобы дать мне руководство. Благодарю. Вот моя функция:
function merge(l1, l2)
if # l1 == 0 then
return l2
elseif # l2 == 0 then
return l1
else
if l1[1] <= l2[1] then
tmp = l1[1]
table.remove(l1,1)
return table.insert(merge(l1,l2),tmp)
else
tmp = l2[1]
table.remove(l2,1)
return table.insert(merge(l1,l2),tmp)
end
end
end