Author Topic: ИЛИ в условии как сделать?  (Read 1950 times)

0 Members and 1 Guest are viewing this topic.

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
ИЛИ в условии как сделать?
« on: September 22, 2023, 12:53:16 PM »
Ну никак не могу найти в справках.

В общем, переменная $var может содержать любую из всех заглавных букв алфавита, а может не содержать. Соответственно, если содержит, то $s = Есть, иначе Нет

Можно конечно решить вопрос так:
Code: (clickermann) [Select]
IF($var = "А")
   $s = "Есть"
ELSE
   IF($var = "Б")
      $s = "Есть"
   ELSE
      IF($var = "В")
         $s = "Есть"
      ELSE
         $s = "Нет"
      END_IF
   END_IF
END_IF
но это 33 условия. А если будет не 33 значения, а например, 500?

Как решить данную дилемму?

И может ли помочь здесь "!" ?
Помогите пожалуйста найти справку по условиям. Я знаю только = > <

Заранее спасибо!
« Last Edit: September 22, 2023, 03:35:56 PM by SimplY »

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: ИЛИ в условии как сделать?
« Reply #1 on: September 22, 2023, 03:41:00 PM »
Нашел одну из тем

Может быть так можно?

Code: (clickermann) [Select]
IF(($var = "А") | ($var = "Б") | ($var = "В"))
   $s = "Есть"
ELSE
   $s = "Нет"
 END_IF
Написал этот скриптик со смартфона, поэтому проверить на ПК сегодня не могу.

Знак & означает: а также
Знак ! означает: всё, кроме
Знак | и означает: или

Верно? Где по условиям можно почитать информацию?
« Last Edit: September 22, 2023, 03:42:51 PM by SimplY »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: ИЛИ в условии как сделать?
« Reply #2 on: September 25, 2023, 09:23:38 AM »
Нашел одну из тем

Может быть так можно?

Code: (clickermann) [Select]
IF(($var = "А") | ($var = "Б") | ($var = "В"))
   $s = "Есть"
ELSE
   $s = "Нет"
 END_IF
Написал этот скриптик со смартфона, поэтому проверить на ПК сегодня не могу.

Знак & означает: а также
Знак ! означает: всё, кроме
Знак | и означает: или

Верно? Где по условиям можно почитать информацию?

Это серьёзно? Ты всё это время не использовал условия?

А где же почитать, где почитать... Может в справке раздел "введение", да  нет, ерунда какая-то.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: ИЛИ в условии как сделать?
« Reply #3 on: September 25, 2023, 09:43:01 AM »
В общем, переменная $var может содержать любую из всех заглавных букв алфавита, а может не содержать. Соответственно, если содержит, то $s = Есть, иначе Нет
но это 33 условия. А если будет не 33 значения, а например, 500?
А 500 откуда? Ты либо решаешь конкретную задачу или изучаешь составление условий и задача просто один из примеров.

Если конкретная задача, то никаких 33 условия не нужно, и 33 части условия тоже не нужно.
Для версии Clickermann v4.14:
Code: (clickermann) [Select]
IF((CODE($var) >= 1040) & (CODE($var) <= 1071))
    $s = "Есть"
ELSE
    $s = "Нет"
END_IF

print($s)
HALT

Для всех версий начиная с 4.4.0:
Code: (clickermann) [Select]
$fvar = STRFILTER($var, "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", 1)
IF($fvar != "")
    $s = "Есть"
ELSE
    $s = "Нет"
END_IF

print($s)
HALT
Эта версия выдаст "Есть" если в строке есть хоть одна заглавная русская буква, даже если букв в переменной много.
« Last Edit: September 25, 2023, 09:44:39 AM by Vint »


SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: ИЛИ в условии как сделать?
« Reply #4 on: September 27, 2023, 08:38:23 AM »
Нашел одну из тем

Может быть так можно?

Code: (clickermann) [Select]
IF(($var = "А") | ($var = "Б") | ($var = "В"))
   $s = "Есть"
ELSE
   $s = "Нет"
 END_IF
Написал этот скриптик со смартфона, поэтому проверить на ПК сегодня не могу.

Знак & означает: а также
Знак ! означает: всё, кроме
Знак | и означает: или

Верно? Где по условиям можно почитать информацию?

Это серьёзно? Ты всё это время не использовал условия?

А где же почитать, где почитать... Может в справке раздел "введение", да  нет, ерунда какая-то.

Я постоянно использовал условия, но только если одно равно или больше, меньше другого.

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: ИЛИ в условии как сделать?
« Reply #5 on: September 27, 2023, 08:51:20 AM »
В общем, переменная $var может содержать любую из всех заглавных букв алфавита, а может не содержать. Соответственно, если содержит, то $s = Есть, иначе Нет
но это 33 условия. А если будет не 33 значения, а например, 500?
А 500 откуда? Ты либо решаешь конкретную задачу или изучаешь составление условий и задача просто один из примеров.

Если конкретная задача, то никаких 33 условия не нужно, и 33 части условия тоже не нужно.
Для версии Clickermann v4.14:
Code: (clickermann) [Select]
IF((CODE($var) >= 1040) & (CODE($var) <= 1071))
    $s = "Есть"
ELSE
    $s = "Нет"
END_IF

print($s)
HALT

Для всех версий начиная с 4.4.0:
Code: (clickermann) [Select]
$fvar = STRFILTER($var, "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", 1)
IF($fvar != "")
    $s = "Есть"
ELSE
    $s = "Нет"
END_IF

print($s)
HALT
Эта версия выдаст "Есть" если в строке есть хоть одна заглавная русская буква, даже если букв в переменной много.

Конкретная задача в том, чтобы с сайта выделять данные и по выделенным текстам кликер мог отличить, где наименование компании, где контакты, а в контактах где имя, где номер, где email и сайт.

Почту отличить легко по наличию @

Наличие английских букв, но нет @, значит сайт

Наименование компании начинается всегда с "ООО", "ИП", "АО" и их не так и много.

Если нет, но текст начинается с заглавной буквы, то имя.

Поэтому и задал вопрос. Как буквы отличить или начало типа ИП, ООО. Но с ИП и ООО можно условиями сделать, так как форм собственности не так уж и много. Встречается 3 всего у меня.

Ну и затем кликер определив, что за выделенный текст, кидает его в нужный массив как новый элемент и дальше возможности выбора.

Затем вся инфа вставляется в форму. Но с этим вроде понятно, как делать.
« Last Edit: September 27, 2023, 08:54:07 AM by SimplY »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: ИЛИ в условии как сделать?
« Reply #6 on: September 29, 2023, 09:31:52 AM »
Я постоянно использовал условия, но только если одно равно или больше, меньше другого.
Условия это не только сравнение на равенство, но и булева логика, она добавляет основную мощь ветвлений.