Автокликер Clickermann :: Форум
		Основной раздел => Общие вопросы => Topic started by: Skomopox on June 30, 2014, 08:18:29 AM
		
			
			- 
				Привет Джони! Не идёт сравнение и и операторы в команде if в 4.10. Вот пример:
$c=9
$s=14
if($c<$s|$c<10)
print("OK")
else
print("NOK")
end_if
halt
Всегда пишет NOK. Т.е. никак не находит. Ни один оператор не работает. Проверял в 4.7 всё идёт, в 4.9 тоже. В 4.10 не работает. Джонииииии.... исправь, пожалуйста, и можно ли новую версию выложить сразу с этим исправлением???! Спасибо.
			 
			
			- 
				
$c=9
$s=14
 
if((int($c)<int($s))|(int($c)<10))
print("OK")
else
print("NOK")
end_if
 
halt
а вот так ? =)
ps.  проверил отредактировал
сложные выражения нужно тоже в скобки заключать
			 
			
			- 
				INT нужен для принудительного преобразования строк в числа, например после чтения из файла.
В данном случае это не нужно
$c=9
$s=14
if(($c<$s)|($c<10))
   print("OK")
else
   print("NOK")
end_if
halt
			 
			
			- 
				Сейчас дошло про скобки. А то не сразу понятно. Просто в предыдущих версиях они не нужны были, какие бы сложные выражения не были, ну по крайне мере в моём примере точно. Я проверил перед тем, как написать, я писал. Не знал, что в 4.10 добивалось необходимость этих скобок. Спасибо, ребята, большое! :)
			
 
			
			- 
				Всегда нужны были скобки. Если не с OR, то с AND... Да и вообще лучше ставить т.к. приоритет логических операций не озвучен. Может он и совпадает с Delphi, а может и нет. Да и кто из не программистов знает как там оно классически.
Но понравилось сразу: "исправь, пожалуйста" и "новую версию" сразу  ;D
Тут новоприбывшие весь ВКонтакт и форум оборвали "НЕ ПОВТОРЯЕТ, ПОМОГИТЕ!" Хотя ответ через каждые 3 поста, и то обновления нет.
В 4.10  баг синус/косинус так до конца и не исчез. Пробивается сквозь костыль вставленный после 4.9.
LOGWRITE ("COS/SIN ", 1*COS(90), "/", 1*SIN(180))
// вариант лечения через промежуточные переменные
$COS = COS(90)
$SIN = SIN(180)
LOGWRITE ("Обход COS/SIN ", 1*$COS, "/", 1*$SIN)
HALT
На 1 умножаю для примера. Когда столкнулся с умножением на переменную еле нашёл.