Массивы#

Описание#

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

В качестве элемента массива могут быть:

  • адрес элемента входящего сообщения;

  • адрес элемента исходящего сообщения;

  • константа;

  • переменная;

  • переменная окружения;

  • вызов функции;

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

Допускается использовать описание одного массива в качестве элемента другого, что позволяет строить многомерные массивы.

Синтаксис#

define array = ["const1", "const2", "const3"]

define matrix = [["const1", "const2", "const3"], [$variable1, Environment.var2, $variable3], [IN.test1, IN.test2, IN.test3]]

Примеры использования массива#

Пример 1#

Входящее сообщение:

{
  "a": 3.14,
  "z":
  {
    "b": 10500,
    "c": "modul"
  },
  "d": true
}

Правило трансформации:

define variable = 100
Environment.var1 = IN.z.b
define matrix = [[11, 12, generateId16()], [IN.a, $variable, Environment.var1], [31, 32, 33]]
out = $matrix

Выходящее сообщение:

[11.0,12.0,"8f3d50a8c4d32c46"]
[3.14,100.0,10500]
[31.0,32.0,33.0]

Пример 2#

Входящее сообщение:

{
  "a": 3.14,
  "z":
  {
    "b": 10500,
    "c": "modul"
  },
  "d": true
}

Правило трансформации:

define variable = 100
Environment.var1 = IN.z.b
define matrix = [[11, 12, generateId16()], [IN.a, $variable, Environment.var1], [31, 32, 33]]
out.test1 = $matrix[1][2]
out.test2 = ["1", "2", "3"]

Выходящее сообщение:

{"test1":10500,"test2":["1","2","3"]}