Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Использование оператора || (http://www.flasher.ru/forum/showthread.php?t=92415)

Werewolfe 24.02.2007 12:30

Использование оператора ||
 
Код:

if(a>0||b>0){
txt.text="1"}
else if(a>1||b>1){
txt.text="2"}

Такой вопрос, как его заставить смотреть обе переменные и на основании этого делать выбор, у меня получается a>0, b>1 показывает первый текст

Север 24.02.2007 12:50

1. Каждое условие должно быть заключено в скобки т.е.
Код:

if ((условие1)||(условие2)) {
//тело субпрограммы
}

2. После Else должны присутствовать фигурные скобки и только потом следующее условие, если оно необходимо.
Код:

if ((условие1)||(условие2)) {
//тело субпрограммы
}
else {
//тело субпрограммы
}

По самой программе. ТАМ написано все правильно. Только для другого примера. Для вашего примера введите дополнительное ограничение для b ( и судя по всему и для a ), b и тогда условие будет выглядеть так
Код:

if ((a>0)||(b>0)||(b<1)||(a<1)) {
//тело субпрограммы
}


etc 24.02.2007 13:23

Цитата:

Сообщение от Werewolfe
Код:

if(a>0||b>0){
txt.text="1"}
else if(a>1||b>1){
txt.text="2"}

Такой вопрос, как его заставить смотреть обе переменные и на основании этого делать выбор, у меня получается a>0, b>1 показывает первый текст

Ты используешь логичиеский «ИЛИ», а нужно «И». Т.е. a>0&&b>0

Werewolfe 24.02.2007 13:59

Цитата:

Сообщение от __etc
Ты используешь логичиеский «ИЛИ», а нужно «И». Т.е. a>0&&b>0

Нет, мне надо чтобы было или, если хотя бы одно условие совпадает то выполняется соответствующий код

etc 24.02.2007 14:18

Ты хочешь, что если a или b от 0 до единицы, то выдавать первый текст?
Тогда условие (a>0||b>0)&&(a<1)&&(b<1), т.е. a или b больше нуля, но оба меньше единицы.

Werewolfe 24.02.2007 14:51

Цитата:

Сообщение от __etc
Ты хочешь, что если a или b от 0 до единицы, то выдавать первый текст?
Тогда условие (a>0||b>0)&&(a<1)&&(b<1), т.е. a или b больше нуля, но оба меньше единицы.

Код:

if (h>0 || g>0) {
        nas.text = "";
    } else if (h>2 || g>2.25) {
        nas.text = "";
    } else if (h>4.25 || g>3.1) {
        nas.text = "";
    } else if (h>5.5 || g>4.1) {
        nas.text = "";
    } else {
        nas.text = "";
    }

Вот так выглядит код, я знаю что будет выполнятся первая часть, т.к. h>0 и g>0, но я это поправлю, мне надо чтобы даже если h=0, но g>0 то ваполнялась та часть кода где g приблезительно равно.

etc 24.02.2007 15:01

Надо ставить ограничения по верхней границе, а не только по нижней.

А ещё лучше развернуть:

Код:

if (h>5.5 || g>4.1) {
        nas.text = "";
    } else if (h>4.25 || g>3.1) {
        nas.text = "";
    } else if (h>2 || g>2.25) {
        nas.text = "";
    } else {
        nas.text = "";
    }



Часовой пояс GMT +4, время: 13:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.