Недавно виявив, що програма неправильно порівнює від'ємні числа. Написав такий скрипт для перевірки:
Цитата:
$a=-450
$b=-400
;
@if $a<=$b then @goto %a else @goto %b
;
%a
@Dialog.Message A = $a, B = $b, A <= B
@goto %c
;
%b
@Dialog.Message A = $a, B = $b, A > B
@goto %c
;
%c
При виконанні у мене виводить: A = -450, B = -400, A > B. Якщо скрипт переписати наступним чином, то порівняння виконується вірно.
Цитата:
$a=-450
$b=-400
;
$delta=$a-$b
@if $delta<=0 then @goto %a else @goto %b
;
%a
@Dialog.Message A = $a, B = $b, A <= B
@goto %c
;
%b
@Dialog.Message A = $a, B = $b, A > B
@goto %c
;
%c
Результат: A = -450, B = -400, A <= B