Как прописать несколько логических условий

Vital

Client
Регистрация
28.01.2013
Сообщения
205
Благодарностей
6
Баллы
18
Например
если x=y тогда z=1
если x1=y1 тогда z1=2
если x2=y2 тогда z2=3
если x3=y3 тогда z3=4

В одном действии - реально?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
В логике можно указать вот таким макаром (1==2)||(2==2), но выхода у логики всего 2 - удачный и неудачный. Соответственно там уже задавать что нужно.
В свитче можно сравнивать одну переменную со многими значениями и выходить на разные действия. Т.е. проверять если 1=1, то идём на 1, если 1=2, то идём на 2 и т.д.
А так, чтобы сравнивать сразу кучу переменных и выходить на разные ветки, такого нету в одном решении, только через несколько логических операций - создали логику, проверили свои переменные, установили нужное значение, пошли на следующую логику и так до конца.
 
  • Спасибо
Реакции: VadymS

Vital

Client
Регистрация
28.01.2013
Сообщения
205
Благодарностей
6
Баллы
18
А через C# можно?
 

Hungry Bulldozer

Moderator
Регистрация
12.01.2011
Сообщения
3 441
Благодарностей
834
Баллы
113

bpunk

Client
Регистрация
23.08.2015
Сообщения
182
Благодарностей
31
Баллы
28
Подскажите, почему может не работать?
{-Variable.infotest-}!=10||{-Variable.infotest-}!=5||{-Variable.infotest-}!=14

Задача продолжить выполнять скрипт при отсутствии таких значений переменной.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Подскажите, почему может не работать?
{-Variable.infotest-}!=10||{-Variable.infotest-}!=5||{-Variable.infotest-}!=14

Задача продолжить выполнять скрипт при отсутствии таких значений переменной.
А в переменной всегда цифра? Она не может оказаться пустой при сравнении?
Если могут попастся другие данные или же переменная может быть пустой, лучше это дело прописать в таком виде:

"{-Variable.infotest-}"!="10"||"{-Variable.infotest-}"!="5"||"{-Variable.infotest-}"!="14"
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
182
Благодарностей
31
Баллы
28
А в переменной всегда цифра? Она не может оказаться пустой при сравнении?
Если могут попастся другие данные или же переменная может быть пустой, лучше это дело прописать в таком виде:

"{-Variable.infotest-}"!="10"||"{-Variable.infotest-}"!="5"||"{-Variable.infotest-}"!="14"
Всегда цифра, пытаюсь выловить нет ли ошибки по api, вообщем-то если 2 сравнения - работает. 3 -нет ((
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Приложите пример
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
182
Благодарностей
31
Баллы
28
Пробовал и как значения и как текстовые сравнивать... ни в какую.
 

Вложения

  • 11,1 КБ Просмотры: 141

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)