Чето не втыкаю в чем дело логика if == в 7 зено

  • Автор темы Автор темы letr
  • Дата начала Дата начала

letr

Client
Регистрация
29.10.2017
Сообщения
16
Реакции
4
Баллы
3
Пишу проверку доступности сервера.
Гетом беру нтмл -
HTTP/1.1 200 OK
блаблабла
записываю в переменную - из переменной регуляркой беру 200 - те в перменную ok записывается число 200....Сервер доступен получается.
Теперь ифом проверяю равно {-Variable.ok-}==200 а {-Variable.ok-}равна 200 !!!.
По логике if должен выходить по зеленой ветке тк переменная ok=200- а у меня все время выходит по красной...
Чето я вообще не понимаю в чем жесть ... В чем косяк то ?
200 число в скобки брать не надо - хотя ив одинарные и в двойные скобки брал выход по красной.И проверял {-Variable.ok-}> 199 ) - выходит по зеленой да больше . Или я чего тто туплю или баг какой или пробел где то или чего я не догоняю ).
 

Вложения

  • ScreenShot013.jpg
    ScreenShot013.jpg
    51,3 KB · Просмотры: 292
  • ScreenShot014.jpg
    ScreenShot014.jpg
    40,1 KB · Просмотры: 300
  • ScreenShot015.jpg
    ScreenShot015.jpg
    4,1 KB · Просмотры: 285
В кавычки нужно взять
"{-Variable.ok-}" == "200"
 
кубик if глючный. он на ява реализован. у меня одно время тоже непонятки были, боты шарахались по сайту как полоумные. не мог понять.... потом в самом узком месте на пробу заменил кубик if на логику с# и для сравнения оставил кубик if c выводом результата. в общем я теперь кубик IF не использую от слова совсем ! и вам того же желаю.
а еще есть тут тема с бенчмарками, так там при нагрузке на процессор кубик If просто перестает работать. в один , два потока вроде норм а как нагружаешь по количеству ядер, сразу ошибки именно в этом кубике.
я там тоже попробовал на c# сравнение сделать и нормально даже под нагрузкой.
 
Дааа ну эт просто п-ц - использовать сторонние библиотеки для if !!!! это просто жесть дас... Ребят дайте "си шарп" код пожалуйста я в нем не очень или ссылочку киньте плиз.
 
В кавычки нужно взять
"{-Variable.ok-}" == "200"
Это не помогает и в одинарные брал и в двойные и без. По идее должно по зеленой выходить - выходит по красной со всеми кавчками и без ) я думал уже я чокнулся ).
 
Кубик не глючный, и никаких библиотек ненадо.
У вас в переменную попадает строковое значние, а вы его сравниваете с числом.
Сравнивайте как текст в кавычках и будет вам счастье.
 
  • Спасибо
Реакции: Yosemite
Дааа ну эт просто п-ц - использовать сторонние библиотеки для if !!!! это просто жесть дас... Ребят дайте "си шарп" код пожалуйста я в нем не очень или ссылочку киньте плиз.
чем с# сторонний ? по мне так это ява тут лишняя. яву надо в браузере использовать а не в исполняемом коде. но это сугубо личное мнение, так что тапками не кидаться :-)

C#:
Развернуть Свернуть Копировать
bool is_enable_work = false;
// логика /////////////////////////
int data = 0;  try{    data = int.Parse(project.Variables["ок"].Value); } catch{}
if ( data = 200 ) is_enable_work  = true;
////////////////////////////////////
if ( is_enable_work ) {
    return 0; // выход по зеленой
}
else {
    throw new Exception(); // выход по красной
}

в логику можно запихать сложные условия.
 
Последнее редактирование:
  • Спасибо
Реакции: letr
Кубик не глючный, и никаких библиотек ненадо.
У вас в переменную попадает строковое значние, а вы его сравниваете с числом.
Сравнивайте как текст в кавычках и будет вам счастье.
Кубик не глючный, и никаких библиотек ненадо.
У вас в переменную попадает строковое значние, а вы его сравниваете с числом.
Сравнивайте как текст в кавычках и будет вам счастье.
Как правильно написать что бы по зеленой то вышло ? Да в переменной х там строки взяты е гетом. Из этих строк регуляркой парсится число 200. Попадая в перменную ok оно уже число (проверял увеличивал на 1 и сравнивал > 199 - выход по зеленой те больше.) Пробовал и с одинарными и с двойными кавчками и без выходит по красной и все . Попробую еще в штатном 5.39.0.0. Может перегрузка поможет...
 
Кубик не глючный, и никаких библиотек ненадо.
У вас в переменную попадает строковое значние, а вы его сравниваете с числом.
Сравнивайте как текст в кавычках и будет вам счастье.

не глючный ? ну ну.... разработчики другого и не скажут.
чего же тогда у меня условие 5==5 по красной выходило ? и "5"=="5" опять по красной ? и только в C# 5==5 равно true !
не было бы пойманы такие ситуации я бы не потратил пол недели в поисках и замене кубиков IF на C# !
Думаете у меня вот так было много времени этой херней заниматься ?
Вы уже 2й модератор которому я говорю, возьмите тест бенчмарка и нагрузите по полной, и покажите своим программистам, пусть тоже поудивляются !
 
Как правильно написать что бы по зеленой то вышло ? Да в переменной х там строки взяты е гетом. Из этих строк регуляркой парсится число 200. Попадая в перменную ok оно уже число (проверял увеличивал на 1 и сравнивал > 199 - выход по зеленой те больше.) Пробовал и с одинарными и с двойными кавчками и без выходит по красной и все . Попробую еще в штатном 5.39.0.0. Может перегрузка поможет...
я там малясь поправил. в переменную ок до вызова кубика c# складируете что надо сравнить. в строке if ( data = 200 ) is_enable_work = true; сравнивается с 200 (число)
 
  • Спасибо
Реакции: letr
Это не помогает и в одинарные брал и в двойные и без. По идее должно по зеленой выходить - выходит по красной со всеми кавчками и без ) я думал уже я чокнулся ).

Оч. странно, только что проверил в 5 и 7 версиях - все одинаково хорошо выполняется и проверяется, выходит по зеленой.

46256



46255
 
Оч. странно, только что проверил в 5 и 7 версиях - все одинаково хорошо выполняется и проверяется, выходит по зеленой.

Посмотреть вложение 46256


Посмотреть вложение 46255

конечно странно. у меня тоже не всегда глюки были. так ... через раз. но они были!
может какая кросплатформенная фигня. у меня вот AMD например.
а нее, вспомнил... начинал то я на i5 . так что фиг знает. вам разработчикам виднее где глюк, а где нет :)
 
Хм странно... Может что то в версиях явы несовпадения какие то ...Или что то субъективное мешает правильной работе- но собственно программа то по сути замкнута в себе и не должно ничего происходить такого - иначе у всех были бы глюки... Еще в версии 5-18 сначала логика 200= 200 срабатывала. Потом == перестало работать - ладно думаю переставил где мог на > и != .Где логику не пытался изменить в уже готовых кубиках еще работало. В 7 загрузил в е равенство полностью слетело...Однако факт есть факт !!! Я могу видео записать если есть надобность кубик глючит. Потестирую еще на штатной версии последней - может там получится...
 
Хм странно... Может что то в версиях явы несовпадения какие то ...Или что то субъективное мешает правильной работе- но собственно программа то по сути замкнута в себе и не должно ничего происходить такого - иначе у всех были бы глюки... Еще в версии 5-18 сначала логика 200= 200 срабатывала. Потом == перестало работать - ладно думаю переставил где мог на > и != .Где логику не пытался изменить в уже готовых кубиках еще работало. В 7 загрузил в е равенство полностью слетело...
а вот тут то и ошибочка. программа нифига не замкнута. есть тут один элемент который конкретно всю стабильность коту под хвост пускает. и это .... (тут должны быть барабаны :) ) БРАУЗЕР.
и вот эта хрень всю малину портит. он может заглючить, зависнуть, потечь.... и все это скажется на ... фиг знает на чем это скажется, но кубик IF начинает глючить.
запускал бенчмарк и выявил прямую зависимость стабильности ява кода от нагрузки.
а недавно пролетала тема, где ява код критовал на одном сайте и не мог получить высоту окна браузера. вот и вся стабильность :(
 
Хм странно... Может что то в версиях явы несовпадения какие то ...Или что то субъективное мешает правильной работе- но собственно программа то по сути замкнута в себе и не должно ничего происходить такого - иначе у всех были бы глюки... Еще в версии 5-18 сначала логика 200= 200 срабатывала. Потом == перестало работать - ладно думаю переставил где мог на > и != .Где логику не пытался изменить в уже готовых кубиках еще работало. В 7 загрузил в е равенство полностью слетело...Однако факт есть факт !!! Я могу видео записать если есть надобность кубик глючит. Потестирую еще на штатной версии последней - может там получится...
Проверьте как срабатывает регулярка, которая берет значение 200.
Возможно она берет какой то невидимый символ. Мне представляется такое, что вряд ли, но все же.
Также проверьте вручную вписать в экшене без переменных IF '200'=='200' будет ли по зеленой выходить?
 
вот скрин
46257


под хромом норм работает. под файрфокс критует.

почему тогда кубик IF не может быть глючный ?
 
Проверьте как срабатывает регулярка, которая берет значение 200.
Возможно она берет какой то невидимый символ. Мне представляется такое, что вряд ли, но все же.
Также проверьте вручную вписать в экшене без переменных IF '200'=='200' будет ли по зеленой выходить?
Да выйти надо минут на 15 - приду попробую отпишу.
 
IF '200'=='200' выходит по красной.
по красной.gif
 
Последнее редактирование модератором:

В настройках программы на вкладке Другое заранее включите галку Подробный лог для разработчиков,
затем перезагрузите программу.

Сразу после воспроизведения описанной вами проблемы, cделайте Диагностику и отправляйте report.zip на support@zennolab.com (со ссылкой на эту тему).

Диагностику можно выполнить, запустив ее из Настроек программы, из вкладки Другое, либо запустив Diagnostic.exe из рабочей папки программы, либо из группы запуска "Все программы -> Zennolab" (ярлык 'Diagnostic').
 
мдя, походу у тебя глюк устойчивый.
у меня по зеленой выходит даже если одна из переменных строка :-)

Посмотреть вложение 46260
Нда )))) ну шли тоже разарабам ерор лог ) Дело важное, логика должна работать !!! Иначе это позор джунглей просто... - У меня еще глюк был ошибка запись по фтп - браузер не создан и п-ц. Тока по фтп передавало файлы и вдруг перстало ни с того ни с сего.. - но там вроде зацепило пробел - хотя опять же такие мелочи должны быть учтены- с какого х пробел в хосте или логине как то влияет на передачу данных...
 
А зачем вы написали IF '200'=='200'? Так, конечно, не будет работать.
:-) Просто уже шаманим с бубнами, должно пройти по зеленому, у меня так.
У него проходит по красному.

46265
 
  • Спасибо
Реакции: ZX

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)