funjpg (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
or и цикл while
 
Цитата
Старатель написал:

Такая проверка не гарантирует корректного получения данных. Вы легко можете получить
Код
tradingstatus  =  {param_type =  "2" , param_value =  "0.000000" , result =  "1" , param_image =  "" } 
в то время, как на самом деле param_value = 4

В такой ситуации, вопрос в сторону биржи, почему она присылает 0, когда ожидаемое значение 4. А пока, будем ждать пока не придет 4 или 3 или ошибка getParamEx() для выхода из цикла.

кстати, 1-й вариант, там к tradingStatus.result нужно применить tonumber(), для корректной работы или 0 взять в " " типа == "0"
or и цикл while
 
Цитата
Станислав написал:
Такой подход к организации ожидания события не дает права на ошибку и при любом некорректном входном параметре или ошибки выполнения getParamEx навсегда "повесит" скрипт
согласен с замечаниями, сократил код, да так, что стал непонятен. под "status" имел ввиду результат функции getParamEx
варианты с изменениями и дополнениями.
Код
while true do 
 tradingStatus = getParamEx(class,"GAZP","tradingstatus") 
 status = tonumber(tradingStatus.param_value)
 if status == 4 then break end
 if status == 3 then break end
 if tradingStatus.result == 0 then break end
 sleep (1000)
end
или

Код
while true do 
 tradingStatus = getParamEx(class,"GAZP","tradingstatus")
  if tonumber(tradingStatus.result) == 1 then
   status = tonumber(tradingStatus.param_value)
   if status == 4 then break end
   if status == 3 then break end
  else break end
 sleep (1000)
end 
or и цикл while
 
Код
while true do
 if status == 4 then break end
 if status == 3 then break end
 sleep (1000)
end
как вариант
Страницы: 1
Наверх