Поясните, как это соотносится с моим сообщением #5237? А то я совсем уж ничего не понимаю.
Вы спрашивали. Попадут ли все условия, которые не равны true. У вас только две проверки. Но если при проверке не будет true, то проверка на false. Вторая строчка не имеет значения потому, что у вас rost = bool и может принимать только 2 значения и по умолчанию оно равно false
Vladislav Andruschenko: Вы спрашивали. Попадут ли все условия, которые не равны true. У вас только две проверки. Но если при проверке не будет true, то проверка на false. Вторая строчка не имеет значения потому, что у вас rost = bool и может принимать только 2 значения и по умолчанию оно равно false
То есть, все условия, не подпадающие под условие true, автоматически будут false и значит, запись if(!rost) захватит и условие (op1>cl2 && cl1<cl2) и условие (op1<cl2 && cl1>cl2).Так?
То есть, все условия, не подпадающие под условие true, автоматически будут false и значит, запись if(!rost) захватит и условие (op1>cl2 && cl1<cl2) и условие (op1<cl2 && cl1>cl2).Так?
Да.
Если rost объявлен без значения, то на глобальном уровне он будет всегда равен последнему значению.
Вы указали слишком мало данных и не полный код для того, чтобы дать конкретный ответ.
Но я как раз и хочу избежать ситуации, когда !rost захватывает все условия для rost != true. Поэтому не стал инициировать на глобальном уровне Bool rost=false, а инициирую в OnTick() отдельно для false и отдельно для true. Возможно, для избежания путаницы, лучше задавать условия не if(rost) и if(!rost), а if(rost==true) и if(rost==false) ?
Или тогда вводить ещё один фла, ограничивающий условия !rost.
Но я как раз и хочу избежать ситуации, когда !rost захватывает все условия для rost != true. Поэтому не стал инициировать на глобальном уровне Bool rost=false, а инициирую в OnTick() отдельно для false и отдельно для true. Возможно, для избежания путаницы, лучше задавать условия не if(rost) и if(!rost), а if(rost==true) и if(rost==false) ?
Если вы указали rost без значения то оно по умолчанию false
Поясните, как это соотносится с моим сообщением #5237? А то я совсем уж ничего не понимаю.
Поясните, как это соотносится с моим сообщением #5237? А то я совсем уж ничего не понимаю.
Добрый день!
Вопрос по синтаксису мкл4: если я задаю флаг таким образом:
то условие if(!rost) поймает только условие для rost=false или все условия, не подпадающие под rost=true?
Спасибо.
Вы спрашивали. Попадут ли все условия, которые не равны true. У вас только две проверки. Но если при проверке не будет true, то проверка на false. Вторая строчка не имеет значения потому, что у вас rost = bool и может принимать только 2 значения и по умолчанию оно равно false
То есть, все условия, не подпадающие под условие true, автоматически будут false и значит, запись if(!rost) захватит и условие (op1>cl2 && cl1<cl2) и условие (op1<cl2 && cl1>cl2).Так?
только не забудьте инициализовать "rost".
Как?
То есть, все условия, не подпадающие под условие true, автоматически будут false и значит, запись if(!rost) захватит и условие (op1>cl2 && cl1<cl2) и условие (op1<cl2 && cl1>cl2).Так?
Как?
Bool rost=false;
Но я как раз и хочу избежать ситуации, когда !rost захватывает все условия для rost != true. Поэтому не стал инициировать на глобальном уровне Bool rost=false, а инициирую в OnTick() отдельно для false и отдельно для true. Возможно, для избежания путаницы, лучше задавать условия не if(rost) и if(!rost), а if(rost==true) и if(rost==false) ?
Или тогда вводить ещё один фла, ограничивающий условия !rost.
Но я как раз и хочу избежать ситуации, когда !rost захватывает все условия для rost != true. Поэтому не стал инициировать на глобальном уровне Bool rost=false, а инициирую в OnTick() отдельно для false и отдельно для true. Возможно, для избежания путаницы, лучше задавать условия не if(rost) и if(!rost), а if(rost==true) и if(rost==false) ?
Абсолютно идентичные записи.
Абсолютно идентичные записи.
Данная переписка как раз свидетельствует, что в моём случае if(!rost) не то же самое, что if(rost==false). Потому что для false отдельное условие.