RU

Описание формата языка условий приложения (if, else и т.д)

Проект закрыт.
Приложение WebMaster Utility для форматирования или сборки большинства данных в инструментах использует собственный язык условий, позволяющих пользователю самостоятельно максимально точно настроить обработку тех или иных данных используя условия значений передаваемых параметров.
Язык включает следующие операторы условий:
  • if
  • else
  • elseif
if - определяет открытие условия, записывается в квадратных скобках, после которого идет условие, пример: [if условие]....[/if] (каждый открытый оператор if должен быть закрыт оператором [/if])
else - определяет противоположные данные, возвращаемые в ответ на отрицательное выполнение условия if. Данный оператор может быть использован как в связке с оператором if, так и с оператором elseif, пример: [if условие].....[else]......[/if] или [if условие]....[elseif условие]...[else]...[/if][/if]
elseif - определяет открытие нового условия в случае, если первое условие if будет отрицательным (вернет false). Любое условие elseif должно быть закрыто оператором [/if]. Данное условие также, как и условие if может быть использовано в связке с оператором else
Вложенность условий не ограничена. Любое условие может быть использовано внутри другого условия.
Условие записывается после оператора if, elseif через пробел, может содержать переменные, константы, строки, числа и все остальные поддерживаемые данные и операторы. Приоритет выполнения операторов - последовательный, даже если рассматриваются операторы умножения и сложения и т.д. Для определения приоритета необходимо заключать выражения в скобки (круглые). В выражении могут быть использованы строки, числа, константы, переменные. Отрицательные числа необходимо помещать в кавычки, также в кавычки необходимо помещать дробные числа, пример: 5 или '-5' или '3.25' или '-3.254', пример в выражении: [out '-3'*47+'3.254'/5+'-6.25']. При сравнении, если число или строка является физически числом - сравнение выполняется как сравнение чисел, если сравниваются строки - сравнение выполняется побайтно (с учетом регистра символов), пример: [if 4<5]четыре меньше чем 5[else]четыре больше чем 5[/if] или [if 'A'<'a' || 'a' < 'b']А заглавная больше чем a прописная или a меньше чем b[else]ни одно из условий не выполнено[/if]
Поддерживаемые операторы в условии:
  • равно (=, ==)
  • больше (>)
  • меньше (<)
  • не равно (!=, <>)
  • больше или равно (>=)
  • меньше или равно (<=)
  • или (||, or)
  • и (&&, and)
  • не (!, not)
  • сложение (+)
  • вычитание (-)
  • умножение (*)
  • деление (/)
Условий в выражении может быть сколько угодно. Для выделения приоритета условиям - используются круглые скобки, пример: [if a && b || (a==5 && !b)]
При выполнении операторов проверки истинности выражения используется тип проверки следующий:
  • если указан только параметр (число, строка, переменная, константа) - истинным будет считаться выражение (подвыражение), если данный параметр возвращает значение больше 0 и не пустое (например если строка), так если a='' - выражение [if a] вернет false, если a=0, выражение [if a] - также вернет ложь. Если а отличается от 0 и от пустой строки и не является отрицательным числом - условие вернет истину (true)
  • если параметр указан с логическим не - выражение примет противоположный результат возвращаемому, например: !1 (или not 1) - вернет false ([if !a]а - ложь[else]а - истина[/if])
Язык условий поддерживает использование переменных. Каждая переменная, созданная в ходе выполнения кода существует только во время выполнения кода. После выполнения - переменная автоматически разрушается.
Для создания и\или установки значения переменной используется конструкция [var имя_переменной=выражение]
В данной конструкции зарезервированное слово var определяет блок переменной. Имя переменной пишется через пробел после слова var. Значение переменной указывается после знака = (равно), идущего после имени переменной (пробелы между блоками не учитываются). Значение переменной может состоять из любого выражения, включающего все поддерживаемые языком операторы, переменные, константы и т.д. Если переменной не существует - данная конструкция создаст новую переменную, если переменная уже была создана ранее - изменит значение переменной.
Пример: [var b=a*25+(CONST - '5.214')/15]
Для вывода данных в условиях используется прямое указание констант или переменных, которые необходимо вывести, пример: [CONST_NAME] или [VAR_NAME].
В случае, если необходимо вывести какое-либо условие, без предварительного присвоения его переменной, для этого используется конструкция [out выражение]
Зарезервированное слово out выводит идущее после него через пробел условие идентично прямому выводу условия [CONST_NAME], пример: [out 5*5] - выведет в месте, где расположен блок значение 25
Пример использования кода условий для создания раздела информации в инструменте `Анализ и мониторинг позиций сайта` для списка ключевых фраз:
Полный код приведенного примера с отображением данных по Яндекс.WordStat с ручным форматированием результатов, а также с форматированием отклонений в данных:

<mark id="ywordstat" iwidth="16" iheight="16" mtop="-2"> [if L_YWORDSTATSHOWS]
(* получаем разницу между значениями текущим и прошлым от проверок *)
[if L_LAST_YWORDSTATSHOWS >= 0]
[var diff=L_YWORDSTATSHOWS - L_LAST_YWORDSTATSHOWS]
[else][var diff=0][/if]
(* вывод текущего значения *)
<font bgcolor="#D7DDDF">[L_YWORDSTATSHOWS]</font>
(* добавим разницу значений *)
[if diff <> 0]
<font color="[if diff>0]#008000[else]#FF0000[/if]" mtop="-4px" size="90%">[if diff>0]+[/if][diff]</font>
[/if]
 показов в месяц
[else]
(* кол-во показов 0 или не смогли получить, разницу не добавляя *)
 в <font color="#FF0000">Я</font>ндекс за месяц показов нет.
[/if]
Данные условие эквивалентно одному из вариантов отображения:
Использование языка условий для форматирования данных, или выборки (например при записи sitemap файлов инструмента `Генератор карты сайта`) предоставляет возможность персонально составить формат данных, которые будут отображаться или использоваться в том или ином инструменте.
Copyright © 2011 - 2024 forwebm.net
 
Яндекс цитирования
Поддержка
E-mail: Задать вопрос ,

Рейтинг@Mail.ru

Создание сайта: forwebm.net