Позвольте продолжить тему.
Есть фрагмент кода:
Код |
---|
local CheckPos = getFuturesHolding('MC0061900000',ACCOUNT,SEC_CODE,0)
if CheckPos ~= nil and POS ~= CheckPos.totalnet then
...
end |
В какой-то момент выпала ошибка attempt to compare with nil.
Переменная POS изначально определяется, как равная 0 и затем ей присваиваются разные значения. То есть она никогда не бывает nil. CheckPos тоже проверяется на nil, значит ошибка возникает из-за поля totalnet.
Я всегда думал, что если getFuturesHolding не возвращает nil, то все поля таблицы содержат какие-то значения и не бывают пустыми (например нули). Получается, что в определенные моменты допускается, что поля таблицы могут быть nil? Это результат ошибки или всё таки это допустимо? В каких тогда случаях может возникать nil в поле totalnet?