Автокликер Clickermann :: Форум
Основной раздел => Ошибки => Topic started by: winwebber on December 06, 2018, 05:44:36 PM
-
$i="c"
IF($i="a" or $i="b" or $i="c")
print("Pass")
ELSE
print ("Error")
END_IF
Pass
$i="d"
IF($i="a" or $i="b" or $i="c" or $i="d")
print("Pass")
ELSE
print ("Error")
END_IF
Error
$i="c"
IF($i="a" or $i="b" or $i="c" or $i="d")
print("Pass")
ELSE
print ("Error")
END_IF
Error
-
После смены математической внутрянки в версии 4.13.14, логические операторы больше не синонимы. 'or' не тождественно '|' и т.д.
Думаю and, or, xor стали сугубо битовыми операциями. И использовать их нужно если нужны именно операции с битами.
Логическое И and; &
Логическое ИЛИ or; |
Логическое исключающее ИЛИ xor; ^
С символом | всё работает нормально
$i="c"
IF($i="a" | $i="b" | $i="c" | $i="d")
print("Pass")
ELSE
print ("Error")
END_IF
18:08:19 Pass
-
нужны пояснения. Vint, конечно, гуру, доверяю, но не вкуриваю
-
Да не, в 4.12 тоже самое :-\ . Максимум в условии можно вписать два раза оператор словом or, and, xor.
print (1 or 1 or 1 and 1 and 1 xor 1 xor 1) выдает число, но если добавить еще один любой оператор, то в ответ 1|1|1&1&1^1^1AND1 или 1|1|1&1&1^1^1XOR1 ...С or прокатывает в данном примере ;D, кароче какието непонятки с ними.
Если писать символами ^ & | , то все норм. Сталкнулся с этим глюком вот тут http://crapware.aidf.org/forum/index.php?topic=4324.msg29688#msg29688
С символом | всё работает нормально
$i="c"
IF($i="a" | $i="b" | $i="c" | $i="d")
print("Pass")
ELSE
print ("Error")
END_IF
18:08:19 Pass
В версии 4.12 обязательно писать со скобками (($i="a") | ($i="b") | ($i="c") | ($i="d")), иначе "Error"
-
автора!
-
Всем спасибо, символами пойдет )