Логика при работе с режимами.

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28
Ребят. Возник такой вопрос, который загнал в тупик. Решение есть, но очень емкое. Хочется узнать, возможно всё очень просто на ваш взгляд.
Есть условный шаблон, который работает в 5 режимах, которые выставляются галочкой boolean. Например пусть это будут 1, 2, 3, 4, 5 режимы. Они могут выставляться в разном порядке - 1 работает, остальные 2-3-4-5 нет (True, False, False, False, False) и у данных настроек будет свой выход. Но так-же могут быть и другие комбинации с другими выходами, например 1-2-3-4-5 (False, True, False, True, True) и так далее. Я начал создавать if кубики, типа 1 == False, и вести их друг к другу, но возникает диссонанс при таком решении, либо мой мозг кипит уже :-) Сорян, если туго изъяснился, но вроде-бы донес проблему. По итогу будет существовать немалое количество комбинации со своим выходом. Как бы вы решили проблему?

upd. возможно проблема прозвучит наркоманской, или моё описание к ней, не искал по форуму - т.к хз как сформулировать вопрос кратко.
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
правильно ли понял, что по мимо 5 режимов, между ними могут быть схожие узлы, что приводит уже не к проверке 1 режима, а нескольких условий, по результату условия нужно пойти по незамысловатой логике?
 

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28
правильно ли понял, что по мимо 5 режимов, между ними могут быть схожие узлы, что приводит уже не к проверке 1 режима, а нескольких условий, по результату условия нужно пойти по незамысловатой логике?
нужно проверить все 5 режимов, и исходя из данной информации уже вести ветку на определенный вывод.
 

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28
правильно ли понял, что по мимо 5 режимов, между ними могут быть схожие узлы, что приводит уже не к проверке 1 режима, а нескольких условий, по результату условия нужно пойти по незамысловатой логике?
можно привести аналогию с регистратором, который исходя из режимов может создавать аккаунт с заполнением личной информации ИЛИ нет. может публиковать фото ИЛИ нет. может вступить в сообщества ИЛИ нет. и все эти перечисленные примеры могут в итоге быть разные (режимы) info - True / photo - True / public - False ИЛИ info - False / photo - False / public - True и так далее. вот получилось вполне внятно сформулировать, как мне кажется - донес мысль
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 226
Баллы
113
Ни разу не кодер, но предположу костыль: берем шестую переменную, куда прописываем все варианты любым способом (True,False,False,True,False или False,False,False,True,True и ВСЕ прочие). Соответственно, дальше выход на свитч со всеми вариантами этой переменной, из которой выход уже куда надо?
Ну либо "многоуровневый" if else...

апдейт. Судя по всему не подойдет, не заметил, что они у тебя на разных уровнях выполнения шаблона, думал, условно, где-то на одном уровне выходит, поэтому дальше уже другая часть шаба всегда...
 
  • Спасибо
Реакции: ruthless

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28
Ни разу не кодер, но предположу костыль: берем шестую переменную, куда прописываем все варианты любым способом (True,False,False,True,False или False,False,False,True,True и ВСЕ прочие). Соответственно, дальше выход на свитч со всеми вариантами этой переменной, из которой выход уже куда надо?
Ну либо "многоуровневый" if else...
Второй твой вариант первым в голову пришел.
А вот первый, звучит вполне интересно, благодарю за мысль.:-)
Так-же буду рад другим вариантам, возможно есть простейшее решение.
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
  • Спасибо
Реакции: ruthless

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
Делится шаблон на блоки, соединенные по порядку, как если включены все функции, а перед первым кубиком того самого блока ставим проверку включена ли функция в настройках, отправляя шаблон отрабатывать по режиму или переключая его на проверку следующего.
Скрин схемы ниже. Также, прикрепил набросок проекта, чтобы пощупать.
1620939014986.png
 

Вложения

  • Спасибо
Реакции: ruthless

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 226
Баллы
113
Второй твой вариант первым в голову пришел.
А вот первый, звучит вполне интересно, благодарю за мысль.:-)
Так-же буду рад другим вариантам, возможно есть простейшее решение.
Я, наверное, немного не так выразился. В шестую переменную записываем данные из входных настроек, получаем в итоге что-нить типа (10001, 10100, 00010 и т.д.). А вот выходим на свитч, где прописаны все варианты, ну а с него уже куда надо...
Выше тут еще предложили, но мне кажется, что тебе нужна какая-то логика при которой нужно сразу определенные действия делать, а не каждый раз перебирать каждый включенный/выключенный вариант )) Если нет, то, конечно, блок проверки по каждой настройке и дальше действие конкретно по этому решению самое логичное.
 
  • Спасибо
Реакции: ruthless

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28
Делится шаблон на блоки, соединенные по порядку, как если включены все функции, а перед первым кубиком того самого блока ставим проверку включена ли функция в настройках, отправляя шаблон отрабатывать по режиму или переключая его на проверку следующего.
Скрин схемы ниже. Также, прикрепил набросок проекта, чтобы пощупать.
Посмотреть вложение 77019
Спасибо большое!

Ребят, всем спасибо за предложения!
 
  • Спасибо
Реакции: Alexmd

ruthless

Client
Регистрация
13.02.2017
Сообщения
226
Благодарностей
67
Баллы
28
Я, наверное, немного не так выразился. В шестую переменную записываем данные из входных настроек, получаем в итоге что-нить типа (10001, 10100, 00010 и т.д.). А вот выходим на свитч, где прописаны все варианты, ну а с него уже куда надо...
Выше тут еще предложили, но мне кажется, что тебе нужна какая-то логика при которой нужно сразу определенные действия делать, а не каждый раз перебирать каждый включенный/выключенный вариант )) Если нет, то, конечно, блок проверки по каждой настройке и дальше действие конкретно по этому решению самое логичное.
Уже решаю что мне подойдет более всего, ясность внесена, до этого кипел сидел над реализацией, ввиду скудных знаний :-) Еще давно отложил данную задачу, сегодня решил сделать уже и не думать об этом.
 

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