Операторы «break» и «continue»#

Оператор «break»#

Описание#

Оператор «break» — оператор выхода из цикла, при его выполнении происходит прерывание всего цикла.

Использование оператора «break»#

Пример 1#

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

{
  "root":{
    "test2":[
      "test21",
      "test22",
      "test23"
    ]
  }
}

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

for ($testvar2 : IN.root.test2) {
 if ($testvar2 == "test22") {
    break
 }
 OUT.targetRoot.testArray[+>] = $testvar2
}
OUT.targetRoot.testArray[+>] = "test72"
OUT.targetRoot.testArray[>] = "test42"
OUT.targetRoot.testArray[<] = "ABC"
OUT.targetRoot.testArray[+>].test24 = "test24"

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

{
    "targetRoot":{
        "testArray":[
            "ABC",
            "test42",
            {"test24":"test24"
            }
        ]
    }
}

Оператор «continue»#

Описание#

Оператор «continue» — оператор перехода к следующей итерации цикла, при его выполнении текущая итерация цикла прерывается и начинается следующая.

Использование оператора «continue»#

Пример 1#

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

{
  "root":{
    "test2":[
      "test21",
      "test22",
      "test23"
    ]
  }
}

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

define index = 10
OUT.targetRoot.originalValue = $index
while($index > 5) {
  define index = $index - 1
  OUT.targetRoot.changedValue = $index
  if ($index == 9) continue
}

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

{
    "targetRoot":{
        "originalValue":10.0,
        "changedValue":8.0
    }
}