Главная  |  О продукте  |  Пользователям  |  Community

Поиск

 

Выражения

Выражения – предназначены для выполнения необходимых вычислений, состоят из констант и переменных, объединенных знаками операций. Выражения обозначаются, как «expr» и бывают 3-х типов:

  • Строковые выражения, значениями которых являются тексты;
  • Логические выражения описывают некоторые условия, которые удовлетворяются или не удовлетворяются;
  • Арифметические выражения служат для определения числового значения. При вычислении их значений операции выполняются в порядке приоритета: сначала выражения в скобках, затем «*», «/», «%», а затем «+» и «–». Операции одинакового старшинства выполняются слева направо.

Строка может содержать несколько выражений, сгруппированных вместе с использованием конструкций DJEM- скрипта.

В выражениях поддерживаются операции:

  • Арифметические

    Обозначение

    Арифметическая операция

    +

    операция сложения

    операция вычитания

    *

    операция умножения

    /

    операция деления

    %

    операция взятия остатка от деления

    |

    Операция двоичное «или»

    &

    Операция двоичное «и»

    ^

    Операция исключающее «или»

    shl

    Операция двоичный сдвиг влево

    shr

    Операция двоичный сдвиг вправо

  • Логические

    Обозначение

    Логическая операция

    &&

    операция логическое И

    ||

    операция логическое ИЛИ

    gt

    операция больше

    ge

    операция больше или равно

    lt

    операция меньше            

    le

    операция меньше или равно

    ==

    операция равно

    !=

    операция не равно

  • Строковые

    Обозначение

    Арифметическая операция

    ~

    Операция строкового слияния двух аргументов

    +=

    Добавление элементов в множество элементов.

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

    -=

    Удаление элемента из множества элементов

Порядок выполнения операций при вычислении выражения может задаваться круглыми скобками: «(» и «)».

Примеры

Арифметические выражения:

55*3/(2+3) – сначала 55 умножается на 3, затем к 2 будет прибавлено 3. После этого выполняется операция деления. В результате получится 33.

55*3/2+3 – результат 85.5, т.к. операция сложения имеет более низкий приоритет, чем умножение и деление.

<#price#>*(100 - <#discount#>)/100 – если поле price содержит цену товара, а discount – скидку на товар, то приведенное выражение можно использовать для вычисления цены со скидкой.

 

Логические выражения:

(<#price#> > 100) && (<#creditcard#> == “Visa Classic”) – условие верно, если цена товара больше 100 у.е. и тип пластиковой карточки – Visa Classic. Например, может быть использовано для предоставления дополнительной скидки или указания специальных условий продажи.

 

Строковые выражения:

<set a="Hello">
<set b="world!">
<set c=<var[a]>~" "~<var[b]>
<var[c]>

 

Данный пример выведет

Hello world!

 

Операции с множествами подразумевают множества разделенных запятой значений, достаточно часто используемые внутри системы DJEM - например, в таком формате DJEM хранит выбранные в множественном списке значения или несколько дат, выбранных в контроли времени.

Пример:

<#values="8,66"#>  Запись значений 8 и 66 в поле документа values

<#values+="string"#>  К множеству значений values добавляется значение string, после чего в values оказывается 8,66,string

<#values-="8"#>  Из множества значений удаляется элемент 8, после чего в values оказывается 66,string