Evgen Posted September 22, 2025 Share Posted September 22, 2025 Приветствую! В последнее время пишу много кода на lua, но иногда пишу с ошибками. Подскажите как делать функции, которые не прекращают выполнение программы? В последний раз встретил ошибку, которая связана с конкатенацией строки и nil. Хотелось бы писать безопасный код. function printer(...) printResult = "" for i, v in ipairs(arg) do printResult = printResult .. v .. "\t" end print(printResult) end printer("a", "b", {}) Этот код вызвал ошибку <string>:4: cannot perform concat operation between table and string stack traceback: <string>:4: in function 'printer' <string>:8: in main chunk [G]: ? Quote Link to comment Share on other sites More sharing options...
Noise PC Posted September 23, 2025 Share Posted September 23, 2025 Можно использовать pcall, если есть функционал, который вызывает сомнения. Пример по вашему коду: function printer(...) printResult = "" for i, v in ipairs(arg) do printResult = printResult .. v .. "\t" end print(printResult) end printer("a", "b", {}) local status, err = pcall(printer, "a", "b", {}) if not status then print("Ошибка: " .. err) end Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.