Условие IF &&

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
352
Баллы
63
Доброго времени суток!

Вопрос возник нужно делать проверку переменной

написал такое условие

'{-Variable.TEST-}'=='1'&&'2'&&'3'&&'4'&&'5'


вопрос такой верно ли записал условие проверки? (суть такова нужно проверить переменную TEST равняется ли она одному из значений)

можно ли использовать 1,2,3,4,5 значений скажем до 100 ?

Может быть кто то знает лучшую реализацию, подскажите.

Заранее всем большое спасибо :az:
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
352
Баллы
63
не сработало, боюсь по тому что слишком длинное условие получилось 1,6к символов всего... Хотелось бы узнать можно ли такие длинные условия использовать?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 516
Благодарностей
8 703
Баллы
113

Вложения

  • 14,7 КБ Просмотры: 82
  • Спасибо
Реакции: auva

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
352
Баллы
63
sergodjan66, 100 значений немного сложновато будут стрелочками водить) но тоже вариант я чтот его отбросил сразу... по ходу IF длинные условия не обрабатывает наверно ток до 255 знаков. Спрошу разработчиков может что подскажут.
 

mdsurfer

Client
Регистрация
31.01.2012
Сообщения
52
Благодарностей
1
Баллы
8
а если '{-Variable.var-}'==(1|2|3|..|n) ?
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 522
Благодарностей
991
Баллы
113
Поидее правильнее так ('{-Variable.TEST-}'=='1') or ('{-Variable.TEST-}'=='2')
&& - логическое И т.е. тест не может быть равен и 1 и 2 поэтому '{-Variable.TEST-}'=='1' && '{-Variable.TEST-}'=='2' всегда будет ложным
 
  • Спасибо
Реакции: Marcelo

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
352
Баллы
63
Gfoblin, точно) спасибо проверю твой вариант думаю по логике сработает) :az:
 

ol1ver

Client
Регистрация
29.08.2013
Сообщения
332
Благодарностей
82
Баллы
28
СТЕПАН, делается проверка на совпадение?

Сегодня делал, делал так. Была задача... пропускать префиксы только 921,922,923 ... 92*

Изначально делал так (^921$)|(^922$)| ... (^92n$) потом (^92[0-9]$)|(^93[0-9]$), далее проверяю c помощью IF на ... != "" то что вернет регулярное выражение
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
410
Баллы
63
Доброго времени суток!

Вопрос возник нужно делать проверку переменной

написал такое условие

'{-Variable.TEST-}'=='1'&&'2'&&'3'&&'4'&&'5'


вопрос такой верно ли записал условие проверки? (суть такова нужно проверить переменную TEST равняется ли она одному из значений)

можно ли использовать 1,2,3,4,5 значений скажем до 100 ?

Может быть кто то знает лучшую реализацию, подскажите.

Заранее всем большое спасибо :az:
Вообще, тут не оператор "И" нужно ставить, а оператор "ИЛИ"
'{-Variable.TEST-}'=='1'||'{-Variable.TEST-}'=='2'||'{-Variable.TEST-}'=='3'
 
  • Спасибо
Реакции: Nekro и СТЕПАН

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
352
Баллы
63
surrealmix, да будет свет!

=)

Сработало :az: :az: :az:

Спасибо! И разработчикам спасибо за то что IF поддерживает условие длиной 3к символок круто! Одним махом решил задачку спасибо surrealmix, что вник в суть вопроса
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
410
Баллы
63
surrealmix, да будет свет!

=)

Сработало :az: :az: :az:

Спасибо! И разработчикам спасибо за то что IF поддерживает условие длиной 3к символок круто! Одним махом решил задачку спасибо surrealmix, что вник в суть вопроса
Всегда пожалуйста! ;-)
 

Lighthouse

Client
Регистрация
09.09.2013
Сообщения
11
Благодарностей
1
Баллы
3
Всем привет.
А у меня почему-то не получается(
Что я делаю не так?
'{-Variable.category_id-}'=='1'||'{-Variable.category_id-}'=='2'||'{-Variable.category_id-}'=='3'||'{-Variable.category_id-}'=='4'||'{-Variable.category_id-}'=='7'||'{-Variable.category_id-}'=='8'||'{-Variable.category_id-}'=='10'||'{-Variable.category_id-}'=='13'

Все это находится в логическом if.
Если category_id равняется одному из этих значений, то выходим по одной ветке, если равно чему-нибудь другому, то по другой.
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
528
Баллы
93
Так а что не получается, то?
Вставил только что все в IF, проверил все у Вас работает, ничего не менял. Если вставляю в переменную 1,2,3 и т.д. - выходит по логическому да. Если вставляю 11 или 12 - уходит по логическому нет, т.е. по красному выходу.
 

auva

Client
Регистрация
09.02.2016
Сообщения
34
Благодарностей
4
Баллы
8
Всем, привет!
Аналогичный вопрос,

У меня есть список из которого я беру строку и кладу в переменную, данные могут быть вот в таких форматах.

1. /derf.fred.18?fref=pb">Fred Jacquemot
2. /profile.php?id=100005645628270&fref=pb">Lilou Rouch

хочу привести к нормальному формату, обрезать хвост и раскидать на 2 переменные (url, name)
добавить if, если получаю 1, то веду его по одному пути, если 2, то по другому.

уважаемые знатоки, пожалуйста, подскажите как сделать.
'{-Variable.url_name-}'=='/profile.php?id=' - сюда надо добавить вот такой хвост 100005645628270&fref=pb">Lilou Rouch - не знаю как записать.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 522
Благодарностей
991
Баллы
113
Всем, привет!
Аналогичный вопрос,

У меня есть список из которого я беру строку и кладу в переменную, данные могут быть вот в таких форматах.

1. /derf.fred.18?fref=pb">Fred Jacquemot
2. /profile.php?id=100005645628270&fref=pb">Lilou Rouch

хочу привести к нормальному формату, обрезать хвост и раскидать на 2 переменные (url, name)
добавить if, если получаю 1, то веду его по одному пути, если 2, то по другому.

уважаемые знатоки, пожалуйста, подскажите как сделать.
'{-Variable.url_name-}'=='/profile.php?id=' - сюда надо добавить вот такой хвост 100005645628270&fref=pb">Lilou Rouch - не знаю как записать.
проще через регексп тогда уж...
а так самое хреновое - когда человек не может грамотно поставить задачу )
 

moRL

Client
Регистрация
18.07.2016
Сообщения
101
Благодарностей
70
Баллы
28
Добрый день! Есть в папке 2 вида файлов - фотки в jpg и txt с описанием, для залива в ВК надо определить какой файл взялся для загрузки. Пишу так '{-Variable.faile-}'!='.*?\.txt' по результату True файл должен уходить на постинг текста, по False для загрузки фото.

Проблема в том что оператор IF во всех случаях показывает True, даже когда взялась строчка с фоткой.

Как правильно составить условие для выбора?
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
528
Баллы
93
Добрый день! Есть в папке 2 вида файлов - фотки в jpg и txt с описанием, для залива в ВК надо определить какой файл взялся для загрузки. Пишу так '{-Variable.faile-}'!='.*?\.txt' по результату True файл должен уходить на постинг текста, по False для загрузки фото.

Проблема в том что оператор IF во всех случаях показывает True, даже когда взялась строчка с фоткой.

Как правильно составить условие для выбора?
У Вас абсолютно не правильный подход! В блоке IF НЕ ИСПОЛЬЗУЮТСЯ регулярные выражения. Это блок логического сравнения.
Для решения Вашей задачи Вам необходимо получить список файлов из папки по маске
http://joxi.ru/Y2LyWNpUnZg5VA
Тогда в список положатся только путь к файлам-картинкам, текстовые в список не попадут.
 
  • Спасибо
Реакции: moRL

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Добрый день! Есть в папке 2 вида файлов - фотки в jpg и txt с описанием, для залива в ВК надо определить какой файл взялся для загрузки. Пишу так '{-Variable.faile-}'!='.*?\.txt' по результату True файл должен уходить на постинг текста, по False для загрузки фото.

Проблема в том что оператор IF во всех случаях показывает True, даже когда взялась строчка с фоткой.

Как правильно составить условие для выбора?
Код:
project.Variables["check"].Value = (Path.GetExtension(project.Variables["file_path"].Value) == ".txt") ? "true" : "false";
 
Последнее редактирование:
  • Спасибо
Реакции: moRL

moRL

Client
Регистрация
18.07.2016
Сообщения
101
Благодарностей
70
Баллы
28
У Вас абсолютно не правильный подход! В блоке IF НЕ ИСПОЛЬЗУЮТСЯ регулярные выражения. Это блок логического сравнения.
Для решения Вашей задачи Вам необходимо получить список файлов из папки по маске
http://joxi.ru/Y2LyWNpUnZg5VA
Тогда в список положатся только путь к файлам-картинкам, текстовые в список не попадут.
Спасибо! Сделал раздельную выборку по маске.

Код:
project.Variables["check"].Value = (Path.GetExtension(project.Variables["file_path"].Value) == ".txt") ? "true" : "false";
Спасибо! Ваше решение больше понравилось, но сейчас неохото переделывать шаб. Буду использовать в следующих шаблонах.
 

Jidibi

Пользователь
Регистрация
05.09.2016
Сообщения
33
Благодарностей
5
Баллы
8
Подскажите если в переменной такое значение <span class="block">текст1</span> <span class="block">текст2</span>
каждый раз меняется значение текст1 и текст2 но бывает что берется без кода а просто текст1 и текст2
как отправить на проверку когда появляется в переменной код чтоб отправить на обработку?
 

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