Функция getDepoEx может приводить к зависаниям терминала

Страницы: Пред. 1 2
RSS
Функция getDepoEx может приводить к зависаниям терминала
 
Полагаю, что разработчики либо должны исправить функции, либо исправить документацию.
 
Йцукен,
В итоге Вы наблюдали отсутствие сообщений ,
так как функции ничего не возвращали, но ошибочно считали, что зависает скрипт.
----------------------
Тестировать скрипты тоже надо учиться.
 
nikolz, в итоге я наблюдал зависание скрипта на функции getDepoEx, что приводило к зависанию основного потока (#1) или потока main (#9). Что подтвердил TGB, единственный, кто проверил, а не стал строить тут гипотезы с надуванием щёк.
----------------------
Читать тоже надо учиться вам.
 
Цитата
Йцукен написал:
Цитата
Ziveleos написал:
Функции, в том числе и type, работают с аргументами.
А я про что?
А Вы считаете, что:
Цитата
Йцукен написал:
type ожидает значение
Мы спорили о разных понятиях.
Я говорил о nil, как о сущности, означающей ничто, пустоту, отсутствие какого-либо значения;
а Вы - как об аргументе, переменной, содержащей эту сущность.

getItem возвращает nil, содержащую ничто, getDepoEx не возвращает ничего,
но для Lua эти результаты равны:
Код
if getItem("", 0) == getDepoEx("", "", "", "", 0) then
  message("nil = ничто")
end
Всё пройдет. Но это не точно.
 
Цитата
Ziveleos написал:
но для Lua эти результаты равны
В Lua для "ничто" и nil ошибки разные:
Цитата
> 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.
Страницы: Пред. 1 2
Читают тему
Наверх