Скачать MetaTrader 5

Баг с приоритетом булевых операций.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114299
Forex Trader  
   if (true && true || true && false)
        Print("Correct");
    else
        Print("Incorrect precedence!");


2005.10.31 19:20:02 test EURJPY,H1: removed
2005.10.31 19:20:02 test EURJPY,H1: Incorrect precedence!
2005.10.31 19:20:02 test EURJPY,H1: loaded successfully

Forex Trader
114299
Forex Trader  
1. true && true => true
2. true || true => true
3. true && false => false
по-моему верно отработка по else
Forex Trader
114299
Forex Trader  
Irtron прав. MT неправ.
Forex Trader
114299
Forex Trader  
логические операции - в одном приоритете и отрабатывают слева направо. для установки приоритетов вычисления используйте скобки
Forex Trader
114299
Forex Trader  
А как тогда HELP понимать? AND и OR указаны в разных группах, и AND стоит выше.

Precedence rules
Each group of operations in the table has the same priority. The higher the priority is, the higher the position of the group in the table is.
The execution order determines the grouping of operations and operands.
<...skipped...>
-------------------------------------------------------------
&& Logical AND From left to right
-------------------------------------------------------------
|| Logical OR From left to right
-------------------------------------------------------------
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий