Повідомлення про переклад ШІ
Ця документація була автоматично перекладена штучним інтелектом.
Умовні оператори
Умовні оператори дозволяють динамічно керувати відображенням або приховуванням вмісту в документі на основі значень даних. Існує три основні способи написання умов:
- Вбудовані умови: Прямий вивід тексту (або його заміна іншим текстом).
- Умовні блоки: Відображення або приховування розділу документа, що підходить для кількох тегів, абзаців, таблиць тощо.
- Розумні умови: Пряме видалення або збереження цільових елементів (таких як рядки, абзаци, зображення тощо) за допомогою одного тегу, що забезпечує більш лаконічний синтаксис.
Усі умови починаються з форматувальника логічної перевірки (наприклад, ifEQ, ifGT тощо), за яким слідують форматувальники дій (такі як show, elseShow, drop, keep тощо).
Огляд
Логічні оператори та форматувальники дій, що підтримуються в умовних операторах, включають:
-
Логічні оператори
- ifEQ(value): Перевіряє, чи дані дорівнюють вказаному значенню.
- ifNE(value): Перевіряє, чи дані не дорівнюють вказаному значенню.
- ifGT(value): Перевіряє, чи дані більші за вказане значення.
- ifGTE(value): Перевіряє, чи дані більші або дорівнюють вказаному значенню.
- ifLT(value): Перевіряє, чи дані менші за вказане значення.
- ifLTE(value): Перевіряє, чи дані менші або дорівнюють вказаному значенню.
- ifIN(value): Перевіряє, чи дані містяться в масиві або рядку.
- ifNIN(value): Перевіряє, чи дані не містяться в масиві або рядку.
- ifEM(): Перевіряє, чи дані порожні (наприклад,
null, undefined, порожній рядок, порожній масив або порожній об'єкт).
- ifNEM(): Перевіряє, чи дані не порожні.
- ifTE(type): Перевіряє, чи тип даних дорівнює вказаному типу (наприклад,
"string", "number", "boolean" тощо).
- and(value): Логічне «І», використовується для з'єднання кількох умов.
- or(value): Логічне «АБО», використовується для з'єднання кількох умов.
-
Форматувальники дій
- :show(text) / :elseShow(text): Використовуються у вбудованих умовах для прямого виводу вказаного тексту.
- :hideBegin / :hideEnd та :showBegin / :showEnd: Використовуються в умовних блоках для приховування або відображення розділів документа.
- :drop(element) / :keep(element): Використовуються в розумних умовах для видалення або збереження вказаних елементів документа.
Далі ми детально розглянемо синтаксис, приклади та результати для кожного способу використання.
Вбудовані умови
1. :show(text) / :elseShow(text)
Синтаксис
{дані:умова:show(текст)}
{дані:умова:show(текст):elseShow(альтернативний текст)}
Приклад
Припустимо, дані такі:
Шаблон виглядає так:
val2 = {d.val2:ifGT(3):show('high')}
val2 = {d.val2:ifGT(3):show('high'):elseShow('low')}
val5 = {d.val5:ifGT(3):show('high')}
Результат
val2 = 2
val2 = low
val5 = high
2. Switch Case (Множинні умовні оператори)
Синтаксис
Використовуйте послідовні форматувальники умов для побудови структури, подібної до switch-case:
{дані:ifEQ(значення1):show(результат1):ifEQ(значення2):show(результат2):elseShow(результат за замовчуванням)}
Або досягніть того ж за допомогою оператора or:
{дані:ifEQ(значення1):show(результат1):or(дані):ifEQ(значення2):show(результат2):elseShow(результат за замовчуванням)}
Приклад
Дані:
{
"val1": 1,
"val2": 2,
"val3": 3
}
Шаблон:
val1 = {d.val1:ifEQ(1):show(A):ifEQ(2):show(B):elseShow(C)}
val2 = {d.val2:ifEQ(1):show(A):ifEQ(2):show(B):elseShow(C)}
val3 = {d.val3:ifEQ(1):show(A):ifEQ(2):show(B):elseShow(C)}
Результат
val1 = A
val2 = B
val3 = C
3. Умовні оператори з кількома змінними
Синтаксис
Використовуйте логічні оператори and/or для перевірки кількох змінних:
{дані1:ifEQ(умова1):and(.дані2):ifEQ(умова2):show(результат):elseShow(альтернативний результат)}
{дані1:ifEQ(умова1):or(.дані2):ifEQ(умова2):show(результат):elseShow(альтернативний результат)}
Приклад
Дані:
Шаблон:
and = {d.val2:ifEQ(1):and(.val5):ifEQ(5):show(OK):elseShow(KO)}
or = {d.val2:ifEQ(1):or(.val5):ifEQ(5):show(OK):elseShow(KO)}
Результат
Логічні оператори та форматувальники
У наступних розділах описані форматувальники використовують синтаксис вбудованих умов у такому форматі:
{дані:форматувальник(параметр):show(текст):elseShow(альтернативний текст)}
1. :and(value)
Синтаксис
{дані:ifEQ(значення):and(нові дані або умова):ifGT(інше значення):show(текст):elseShow(альтернативний текст)}
Приклад
{d.car:ifEQ('delorean'):and(.speed):ifGT(80):show('TravelInTime'):elseShow('StayHere')}
Результат
Якщо d.car дорівнює 'delorean' І d.speed більше за 80, виводиться TravelInTime; інакше виводиться StayHere.
2. :or(value)
Синтаксис
{дані:ifEQ(значення):or(нові дані або умова):ifGT(інше значення):show(текст):elseShow(альтернативний текст)}
Приклад
{d.car:ifEQ('delorean'):or(.speed):ifGT(80):show('TravelInTime'):elseShow('StayHere')}
Результат
Якщо d.car дорівнює 'delorean' АБО d.speed більше за 80, виводиться TravelInTime; інакше виводиться StayHere.
3. :ifEM()
Синтаксис
{дані:ifEM():show(текст):elseShow(альтернативний текст)}
Приклад
null:ifEM():show('Result true'):elseShow('Result false')
[]:ifEM():show('Result true'):elseShow('Result false')
Результат
Для null або порожнього масиву виводиться Result true; інакше виводиться Result false.
4. :ifNEM()
Синтаксис
{дані:ifNEM():show(текст):elseShow(альтернативний текст)}
Приклад
0:ifNEM():show('Result true'):elseShow('Result false')
'homer':ifNEM():show('Result true'):elseShow('Result false')
Результат
Для непорожніх даних (таких як число 0 або рядок 'homer') виводиться Result true; для порожніх даних виводиться Result false.
5. :ifEQ(value)
Синтаксис
{дані:ifEQ(значення):show(текст):elseShow(альтернативний текст)}
Приклад
100:ifEQ(100):show('Result true'):elseShow('Result false')
'homer':ifEQ('homer'):show('Result true'):elseShow('Result false')
Результат
Якщо дані дорівнюють вказаному значенню, виводиться Result true; інакше виводиться Result false.
6. :ifNE(value)
Синтаксис
{дані:ifNE(значення):show(текст):elseShow(альтернативний текст)}
Приклад
100:ifNE(100):show('Result true'):elseShow('Result false')
100:ifNE(101):show('Result true'):elseShow('Result false')
Результат
Перший приклад виводить Result false, тоді як другий приклад виводить Result true.
7. :ifGT(value)
Синтаксис
{дані:ifGT(значення):show(текст):elseShow(альтернативний текст)}
Приклад
1234:ifGT(1):show('Result true'):elseShow('Result false')
-23:ifGT(19):show('Result true'):elseShow('Result false')
Результат
Перший приклад виводить Result true, а другий виводить Result false.
8. :ifGTE(value)
Синтаксис
{дані:ifGTE(значення):show(текст):elseShow(альтернативний текст)}
Приклад
50:ifGTE(-29):show('Result true'):elseShow('Result false')
1:ifGTE(768):show('Result true'):elseShow('Result false')
Результат
Перший приклад виводить Result true, тоді як другий виводить Result false.
9. :ifLT(value)
Синтаксис
{дані:ifLT(значення):show(текст):elseShow(альтернативний текст)}
Приклад
-23:ifLT(19):show('Result true'):elseShow('Result false')
1290:ifLT(768):show('Result true'):elseShow('Result false')
Результат
Перший приклад виводить Result true, а другий виводить Result false.
10. :ifLTE(value)
Синтаксис
{дані:ifLTE(значення):show(текст):elseShow(альтернативний текст)}
Приклад
5:ifLTE(5):show('Result true'):elseShow('Result false')
1290:ifLTE(768):show('Result true'):elseShow('Result false')
Результат
Перший приклад виводить Result true, а другий виводить Result false.
11. :ifIN(value)
Синтаксис
{дані:ifIN(значення):show(текст):elseShow(альтернативний текст)}
Приклад
'car is broken':ifIN('is'):show('Result true'):elseShow('Result false')
[1,2,'toto']:ifIN(2):show('Result true'):elseShow('Result false')
Результат
Обидва приклади виводять Result true (оскільки рядок містить 'is', а масив містить 2).
12. :ifNIN(value)
Синтаксис
{дані:ifNIN(значення):show(текст):elseShow(альтернативний текст)}
Приклад
'car is broken':ifNIN('is'):show('Result true'):elseShow('Result false')
[1,2,'toto']:ifNIN(2):show('Result true'):elseShow('Result false')
Результат
Перший приклад виводить Result false (оскільки рядок містить 'is'), а другий приклад виводить Result false (оскільки масив містить 2).
13. :ifTE(type)
Синтаксис
{дані:ifTE('тип'):show(текст):elseShow(альтернативний текст)}
Приклад
'homer':ifTE('string'):show('Result true'):elseShow('Result false')
10.5:ifTE('number'):show('Result true'):elseShow('Result false')
Результат
Перший приклад виводить Result true (оскільки 'homer' є рядком), а другий виводить Result true (оскільки 10.5 є числом).
Умовні блоки
Умовні блоки використовуються для відображення або приховування розділу документа, зазвичай для охоплення кількох тегів або цілого блоку тексту.
1. :showBegin / :showEnd
Синтаксис
{дані:ifEQ(умова):showBegin}
Вміст блоку документа
{дані:showEnd}
Приклад
Дані:
Шаблон:
Banana{d.toBuy:ifEQ(true):showBegin}
Apple
Pineapple
{d.toBuy:showEnd}Grapes
Результат
Коли умова виконується, проміжний вміст відображається:
Banana
Apple
Pineapple
Grapes
2. :hideBegin / :hideEnd
Синтаксис
{дані:ifEQ(умова):hideBegin}
Вміст блоку документа
{дані:hideEnd}
Приклад
Дані:
Шаблон:
Banana{d.toBuy:ifEQ(true):hideBegin}
Apple
Pineapple
{d.toBuy:hideEnd}Grapes
Результат
Коли умова виконується, проміжний вміст приховується, в результаті чого виводиться: