Просмотр полной версии : And or одновременно.
Интересно вдруг стало, а можно ли использовать операторы одновременно, таким образом типа :
if(a==b and or b==c) { } ( возможно просто подругому пишется, это пример)
или же в любом случае только так : if(a==b and b==c) {} ; if(a==b or b==c) {};
Логика "И" как бы исключает логику "ИЛИ".
"ИЛИ-НЕ" возможно, "И-НЕ" возможно, а вы о чем-то странном говорите.
Как вы себе представляете эту логику?
Это как понимать?
if(a==b and b==c) {} ;
if(a==b or b==c) {};
Я раньше только слышал о так называемом "индусском коде", но теперь вижу его в действии.
djyamato
27.02.2010, 02:15
а что описать-то можно такой логикой ?
Ну, пример я имею ввиду приведите :)
У нас была учительница в школе, у нее замечательная логика была.
" - Марина Сергеевна, на дневник обложка нужна или не надо?
- Да!..."
И все в таком духе.
У нас была учительница в школе, у нее замечательная логика была.
" - Марина Сергеевна, на дневник обложка нужна или не надо?
- Да!..."
И все в таком духе.
:taunt:
Нет. все проще. Заказчик попросил сделать для анкеты алгоритм. Так вот, алгоритм не простой, Некоторые логики подразумевают ответы типа - Да на 1 вопрос и нет на все остальные = действие. В этом случае формурется последовательность типа 10000. Тоесть ответ да , дает единичку в моем случае. С этими логиками все просто , но есть еще и нестандартные немного логики типа - если ДА на 1 вопрос и/или да на 2 вопрос + да на 5 вопрос.... и т.п - вот для таких логик приходится писать длинные последовательности логических операторов. Когда вопросов 5 это еще не так напряжно, но если больше то ужасно. Поэтому и спросил насчет БЫСТРОГО применения и/или . Ибо не хочется писать длинные строки))))))) лентяй)
Добавлено через 15 минут
to MoonCar _))
Если ты считаешь что ты настолько умен что бы написать данную строку не на ИНДУССКОМ коде - прошу докажи).... Именно за этим я и создал тему узнать можно ли. Раз можешь то покажи.
Вот алгоритм : Если ДА на 1 вопрос и/или ДА на второй вопрос, + ДА на 5 вопрос + любой другой ответ на все остальные, то ДЕЙСТВИЕ1. П.с. вопросов всего 6.
Моя реализация ( по другому не умею):
строка 1 : 110010 если и
строка 2: 010010 если или1
строка 3: 100010 если или2
if(str.substr(0,1)=="0" or str.substr(0,1)=="1" and str.substr(1,1)==str.substr(4,1)=="1"){catch}
if(str.substr(0,1)=="1" and str.substr(1,1)=="0" or str.substr(1,1)==str.substr(4,1)=="1"){catch}
djyamato
27.02.2010, 03:51
У нас была учительница в школе, у нее замечательная логика была.
" - Марина Сергеевна, на дневник обложка нужна или не надо?
- Да!..."
И все в таком духе.
А я в танке :( Не понимаю прикола
Где-то на govnokod.ru попадался новый булевый оператор - "все равно", записывается так: &|, а его инвариант |&.
Операторы or и and устарели в AS2, правильно использовать || и && соответственно.
Если вам нужно проверить множество условий - самый правильный подход:
var condition1:Boolean = true;
var condition2:Boolean = false;
var condition3:Boolean = true;
var condition4:Boolean = false;
var condition5:Boolean = true;
var conditionResult:Number = 0;
if (condition1) conditionResult |= 1;
if (condition2) conditionResult |= 2;
if (condition3) conditionResult |= 4;
if (condition4) conditionResult |= 8;
if (condition5) conditionResult |= 16;
trace(conditionResult.toString(2)); // 10101
var correctResult:Number = 22; // 10110
trace(correctResult.toString(2));
var i:Number = 0;
var k:Number = 1;
while (i++ < 5)
{
if ((correctResult & k) == (conditionResult & k))
trace("result " + i + " is correct");
else trace("result " + i + " is incorrect");
k <<= 1; // k *= 2;
}
И / ИЛИ при двух выражениях, дающих false/true - это и есть индусский код. Либо одно должно быть, либо другое.
Логика ИЛИ исключает И, все остальное делается цепочками, если хотите.
Ум здесь не причем. А вот иногда вопрос, выдранный из контекста конкретной задачи, и сформулированный "в воздухе", может выглядеть достаточно.. как бы это помягче сказать, глупо.
OR - достаточно выполнения любой части условия, AND - необходимо выполнение всех частей условия. Совместить это невозможно никак. Это аналогично попытке совместить + и - в одной операции.
alexcon314
27.02.2010, 09:45
есть еще и нестандартные немного логики типа - если ДА на 1 вопрос и/или да на 2 вопрос + да на 5 вопрос.... и т.п
Если это выдержка из т.з., попросите заказчика уточнить, что он имел в виду, и не морочьте голову.
Всем спасибо за ответы. А что заказчик имел ввиду я написал, 3 строки как это может выглядеть
вот что у меня получилось) как я понял, нужно да на 1 и/или да на 2 + да на 5 + да на 3, либо на 4, либо на 6 :wacko:
да - 1
нет - 0
OR - достаточно выполнения любой части условия, AND - необходимо выполнение всех частей условия. Совместить это невозможно никак. Это аналогично попытке совместить + и - в одной операции.
Есть еще операция XOR - "либо - либо", но, к сожалению во флеше как булева операция она не реализована - приходится разбивать на комбинации AND и OR
Жизнь проходит или все начали пользоваться снова or
and
вместо
&&
||
?
Да какая разница как писать? мне например быстрее написать or или and чем && так . Суть от этого не меняется и АС2 от этого АС1 не становится. Че к этому придираться полный бред.... это ВАМ не код в клипе писать. а просто разница написания всего то лишь.
У or и and вроде другие приоритеты, чем у || и && или это только в PHP?
Если не в этом дело, то наверное, разница все же есть, иначе зачем были введены эти наборы символов?
Разницы НЕТ! читайте хелп
Разницы НЕТ! читайте хелп
Если бы вы его читали в первую очередь, то увидели бы, что там фигурируе такое слово как deprecated, что значит - устаревший. Эти операторы больше не поддерживаются в следующей версии языка. Но, я думаю, на вас это не отразится т.как вы просто начинающий и ваш код все равно не будет долго использоваться, его не нужно будет поддерживать, или портировать, версия языка тут роли не сыграет.
У or и and вроде другие приоритеты, чем у || и && или это только в PHP?
Если не в этом дело, то наверное, разница все же есть, иначе зачем были введены эти наборы символов?
Компилируется все в один и тот же код. Введены, видимо, для того, чтобы соответствовать определенным стандартам.
Разницы НЕТ! читайте хелп
Разница в том, что начиная с Flash Player 5 эти операторы являются нерекомендуемыми к использованию. В AS3 они уже отсутствуют.
to wvxvw - Я не начинающий. я уже давно в языке. Просто по мелочам не ковыряюсь. Но и не супер продвинутый, хвалится тоже не собираюсь. Переносить мне код не придется тут все верно. АС3 я не изучаю совсем, поэтому и боятся этих операторов нечего. А разница в том что устраели - это не разница, не существенная точнее!.
Спасибо за ответы, и инетерсные вещи. полезно
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.