Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:45:38
Полагаю, что разработчики либо должны исправить функции, либо исправить документацию.
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:50:12
, В итоге Вы наблюдали отсутствие сообщений , так как функции ничего не возвращали, но ошибочно считали, что зависает скрипт. ---------------------- Тестировать скрипты тоже надо учиться.
Пользователь
Сообщений: Регистрация: 02.01.2026
26.02.2026 17:07:10
nikolz, в итоге я наблюдал зависание скрипта на функции getDepoEx, что приводило к зависанию основного потока () или потока main (). Что TGB, единственный, кто проверил, а не стал строить тут гипотезы с надуванием щёк. ---------------------- Читать тоже надо учиться вам.
Мы спорили о разных понятиях. Я говорил о nil, как о сущности, означающей ничто, пустоту, отсутствие какого-либо значения; а Вы - как об аргументе, переменной, содержащей эту сущность.
getItem возвращает nil, содержащую ничто, getDepoEx не возвращает ничего, но для Lua эти результаты равны:
Код
if getItem("", 0) == getDepoEx("", "", "", "", 0) then
message("nil = ничто")
end
> math.floor() stdin:1: bad argument #1 to 'floor' (number expected, got no value) stack traceback: [C]: in function 'math.floor' stdin:1: in main chunk [C]: in ? > math.floor(nil) stdin:1: bad argument #1 to 'floor' (number expected, got nil) stack traceback: [C]: in function 'math.floor' stdin:1: in main chunk [C]: in ?
А касательно вашего примера
Цитата
TGB написал: вызов функции справа от равенства считается выражением. В выражении функция, не возвращающая результат, заменяется на nil.