дважды or

Страницы: 1
RSS
дважды or
 
Господа, подскажите пожалуйста, корректна ли такая строчка
Код
profit_loss=1*(getPortfolioInfoEx (firm, client_code, 2).profit_loss or profit_loss or 0)
если портфель не доступен, брать старое значение profit_loss, а если оно nil, то брать 0.
Два раза or - это работает?
 
Цитата
Let_it_go написал:
Два раза or - это работает?

да работает
 
Код
local p = getPortfolioInfoEx (firm, client_code,  2 )
profit_loss =  1  * ( p and p.profit_loss  or  profit_loss  or   0 )  
 
vgi, спасибо.
а что в вашем примере означает and?
 
Цитата
Let_it_go написал:
что в вашем примере означает  and ?

Проверка на то, что getPortfolioInfoEx возвращает таблицу, а не nil. Иначе будет ошибка attempt to index 'p' ( a nil value ).

Lua 5.1 Logical Operators
 
Цитата

Lua 5.1 Logical Operators

Это, кстати, одна из фишек, за которые мы любим Lua !  :smile:
Страницы: 1
Читают тему
Наверх