Автокликер Clickermann :: Форум
Основной раздел => Ошибки => Архив => Topic started by: Виталий on October 24, 2012, 03:06:48 PM
-
Добрый день!
Следующий скрипт должен давать в результате 25, а дает -25
define($A,-5)
define($sum,20)
logclear
logwrite("$A=",$A," $sum=",$sum)
$sum=$sum-$A
logshow(1)
logwrite("$A=",$A," $sum=",$sum)
halt
лог:
15:58:21 $A=-5 $sum=20
15:58:21 $A=-5 $sum=-25
Спасибо за ответ
-
вот уже интересно
спасибо за отзыв. посмотрим. ну на первый взгляд очевидно, что парсеру не нравятся два минуса подряд
-
Указанная ошибка лечится путем "избавления" от операции "-" путем замены ее на две операции: умножение на -1 и сложение (но с разбивкой на две команды, иначе опять ошибка)
define($A,-5)
define($sum,20)
$B=$A*(0-1)
$sum=$sum+$B
print("$sum=$sum-$A=",$sum)
halt
Работает правильно с любыми по знаку значениями $A и $sum
-
ну да. я забыл, что даже описал эту ситуацию в справке по языку, раздел "основное"
-
ну да. я забыл, что даже описал эту ситуацию в справке по языку, раздел "основное"
Это планируется скорректировать в будущих версиях, или останется особенностью?
Тоже имел с этим дело. Справка помогла исправить ситуацию.
-
Доброго времени суток.
Так же столкнулся.
logclear
$s=50000
$h=5
$m=5
$s1=($s-$h*3600-$m*60) // не правильный результат 32300
$s2=($s-($h*3600)-($m*60)) // правильный результат 31700
Print ($s1)
Print ($s2)
halt
Лог
20:17:57 32300
20:17:57 31700
-
Пытался сделать скрипт, который бы чертил графики, но столкнулся с проблемой в виде глюков при работе с отрицательными числами...чтобы не было 2 знака подряд вместо =4*$x писал =$x*4... но что делать для выражения вида $z=$a*$x - если и $a и $x отрицательные, то постоянно выходит ошибка. Если есть способ обойти эту ошибку?
-
В последней версии ошибка при умножении или делении чисел с минусом. Жди исправлений...