Можно ли в Switch использовать два значения для одной ветки логики?

DoReMi

Пользователь
Регистрация
26.06.2017
Сообщения
74
Благодарностей
6
Баллы
8
Например есть доменные зоны - ru, com, info....

Я хочу в нулевом значении switch прописать ru и com, в первом info и pro....
Сейчас каждое значения switch соответствует одной зоне

P/S посмотрел справку там нет такого.

Возможно ли это сделать?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 333
Благодарностей
5 431
Баллы
113
  • Спасибо
Реакции: DoReMi

DoReMi

Пользователь
Регистрация
26.06.2017
Сообщения
74
Благодарностей
6
Баллы
8
Вряд ли. А отдельными кубиками не вариант проверять? Например Regex может работать как if.
Покажите, пожалуйста, пример где Regex работает как if?
Может C# использовать как switch, но тогда я не понимаю как разводить логику, ведь как я понял только купик switch имеет много выходов...?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 333
Благодарностей
5 431
Баллы
113
Покажите, пожалуйста, пример где Regex работает как if?
1) Там есть галка "Выходить по ошибке при пустом значении" (своими словами написал)
2) В Regex можно искать два значения. Пример (ru|com)
3) Уже в зависимости от логики, если по ошибке вышел, т.е не нашел. кидаете красную стрелку к след Regex и т.д.
 
  • Спасибо
Реакции: doc и DoReMi

DoReMi

Пользователь
Регистрация
26.06.2017
Сообщения
74
Благодарностей
6
Баллы
8
1) Там есть галка "Выходить по ошибке при пустом значении" (своими словами написал)
2) В Regex можно искать два значения. Пример (ru|com)
3) Уже в зависимости от логики, если по ошибке вышел, т.е не нашел. кидаете красную стрелку к след Regex и т.д.
Да, спасибо уловил, странно что в switch нет возможности нескольких значений....

Вот как это реализовано в bash

case $COUNTRY in

Lithuania)
echo -n "Lithuanian"
;;

Romania | Moldova)
echo -n "Romanian"
;;

Italy | "San Marino" | Switzerland | "Vatican City")
echo -n "Italian"
;;

*)
echo -n "unknown"
;;
esac

почему так же не реализовать в Zennoposter?:-) через тильду скажем другое значение...может все же это уже реализовано, просто не описано?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 333
Благодарностей
5 431
Баллы
113
Возможно я ошибаюсь. Подождем ответа))
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
Да, спасибо уловил, странно что в switch нет возможности нескольких значений....

Вот как это реализовано в bash

case $COUNTRY in

Lithuania)
echo -n "Lithuanian"
;;

Romania | Moldova)
echo -n "Romanian"
;;

Italy | "San Marino" | Switzerland | "Vatican City")
echo -n "Italian"
;;

*)
echo -n "unknown"
;;
esac

почему так же не реализовать в Zennoposter?:-) через тильду скажем другое значение...может все же это уже реализовано, просто не описано?
в c# switch, это условие, схожее с множество if-else
C#:
var value = ???

switch (value)
{
    case 1:
    return 1;

    case 2:
    return 2;

    //и т.д.

    default:
    return "value ???"";
}
то есть case константа, если нужно проложить 1 путь от 2-х условий, то

C#:
switch (value)
{
    case 1:
    case 2:
    return 1 и 2;

    case 3:
    return 3;

    //и т.д.

    default:
    return "value ???"";
}
79782


Не совсем понятно, что вы хотите?
 

DoReMi

Пользователь
Регистрация
26.06.2017
Сообщения
74
Благодарностей
6
Баллы
8
в c# switch, это условие, схожее с множество if-else
C#:
var value = ???

switch (value)
{
    case 1:
    return 1;

    case 2:
    return 2;

    //и т.д.

    default:
    return "value ???"";
}
то есть case константа, если нужно проложить 1 путь от 2-х условий, то

C#:
switch (value)
{
    case 1:
    case 2:
    return 1 и 2;

    case 3:
    return 3;

    //и т.д.

    default:
    return "value ???"";
}
Посмотреть вложение 79782

Не совсем понятно, что вы хотите?
Вот в вашей картинке 1 это Russia, 2 Россия, я хотел, чтобы Russia и Россия были под выбором 1, а ни под выборами 1 и 2, а иначе свитч становится длинной и неудобной портянкой, для примера вот как это реализовано в bash -
"Romania | Moldova)
echo -n "Romanian"


Здесь напишется Романия, если значение будет Романия или Молдавия, и все это в одном блоке, т.е мне не надо писать отдельно блок под Романия с эхом Романия и отдельно блок под Молдавию с эхом Романия....

З,Ы Это я к тому, что я хочу.
 

DoReMi

Пользователь
Регистрация
26.06.2017
Сообщения
74
Благодарностей
6
Баллы
8
Вот так выглядит switch, если есть возможность в одно условие писать несколько значений, то эта партянка из 60 условий, сократилась бы до 6....
 

Вложения

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 333
Благодарностей
5 431
Баллы
113
Вот так выглядит switch, если есть возможность в одно условие писать несколько значений, то эта партянка из 60 условий, сократилась бы до 6....
Да сделал бы по моему варианту, там же не только два можно вписывать. Хоть 20, это регулярка))
 
  • Спасибо
Реакции: DoReMi

DoReMi

Пользователь
Регистрация
26.06.2017
Сообщения
74
Благодарностей
6
Баллы
8
  • Спасибо
Реакции: Mikhail B.

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 333
Благодарностей
5 431
Баллы
113
  • Спасибо
Реакции: DoReMi

DoReMi

Пользователь
Регистрация
26.06.2017
Сообщения
74
Благодарностей
6
Баллы
8
Не забудь точку экранировать.
Да, спасибо регулярки это практически единственное, что я вроде как знаю, хотя встроенный конструктор в Zenne почти всегда решает сам задачу по регуляркам, единственное что было, когда пришлось подумать самому - доставал документ из Elastisearch в JSON с параметром pretty=true, так вот регулярка брала нужный текст с переносом строки, а эластик обратно такие символы не принимает, вообщем добавил якорь конца строки и все завелось.

З,Ы Еще раз спасибо за регулярку в качестве IF это позволит сделать шаблон более аккуратным.
 
  • Спасибо
Реакции: Mikhail B.

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