ДОВІДНИК З NODE-RED українською мовою
$env
- зчитує змінну середовища з вказаним іменем$flowContext
- доступається до контексту потоку$globalContext
- доступається до глобального контексту$clone
- клонує об’єктhttps://docs.jsonata.org/string-functions
$match(str, pattern [, limit])
Examples
Застосовує рядок str
до регулярного виразу pattern
і повертає масив об’єктів, причому кожен об’єкт містить інформацію про кожне збігання в str
.
Об’єкт містить такі поля:
match
- підрядок, який відповідає регулярному виразу.index
- зсув (починаючи з нуля) в межах str
цього збігу.groups
- якщо регулярний вираз містить групи захоплення (дужки), він містить масив рядків, що представляють кожну захоплену групу.Якщо str
не вказано, значення контексту використовується як значення str
. Це помилка, якщо str
не є рядком.
Приклади
$match("ababbabbcc",/a(b+)/)
=>
[
{
"match": "ab",
"index": 0,
"groups": ["b"]
},
{
"match": "abb",
"index": 2,
"groups": ["bb"]
},
{
"match": "abb",
"index": 5,
"groups": ["bb" ]
}
]
Повертає значення параметра number
, округлене до кількості десяткових знаків, указаної необов’язковим параметром precision
. Параметр precision
(який має бути цілим числом) означує кількість знаків після коми в округленому числі. Якщо precision
не вказано, за замовчуванням використовується значення 0, а число округлюється до найближчого цілого числа. Якщо «точність» є від’ємною, тоді її значення вказує, до якого стовпця округляти ліворуч від десяткового знака. Ця функція використовує Round_half_to_even . Ця стратегія зазвичай використовується у фінансових розрахунках і є стандартним режимом округлення в IEEE 754.
Приклади
$round(123.456)
=> 123
$round(123.456, 2)
=> 123.46
$round(123.456, -1)
=> 120
$round(123.456, -2)
=> 100
$round(11.5)
=> 12
$round(12.5)
=> 12
$round(125, -1)
=> 120
Функції забезпечують отримання плинних дати та часу та їх перетворення.
У більшості з функцій фігурує аргумент picture
, який задає формат текстового представлення дати/часу. Якщо він не вказаний, то вважається, що формат мітки часу – ISO 8601 на кшталт "2017-11-07T15:12:37.121Z"
. Якщо він вказаний то має задаватися в форматі аналогічному XPath/XQuery функції fn:format-dateTime, що означена в специфікації XPath F&O 3.1. Параметр picture
складається з послідовності маркерів змінних і літеральних підрядків. Підрядок, укладений у квадратні дужки, інтерпретується як маркер змінної; підрядки, не взяті в квадратні дужки, сприймаються як підрядки літералів. Літеральні підрядки є необов’язковими і, якщо вони присутні, відтворюються без змін, включаючи будь-які пробіли. Якщо відкриваюча або закриваюча квадратна дужка потрібна в літеральному підрядку, її потрібно подвоїти. Маркери змінних замінюються в результаті на рядки, що представляють аспекти дати та/або часу, які потрібно відформатувати. Вони детально описані нижче.
Маркер змінної складається зі специфікатора компонента, за яким необов’язково слідує один або два модифікатори представлення та/або необов’язково модифікатор ширини. Пробіли в маркері змінної ігноруються.
Маркер змінної можна розділити на компоненти, застосовуючи такі правила:
Специфікатор компонента вказує на потрібний компонент дати або часу та приймає такі значення:
Специ-фіктаор | Значення | модифікатор представлення за замовченням |
---|---|---|
Y | year (absolute value) | 1 |
M | month in year | 1 |
D | day in month | 1 |
d | day in year | 1 |
F | day of week | n |
W | week in year | 1 |
w | week in month | 1 |
H | hour in day (24 hours) | 1 |
h | hour in half-day (12 hours) | 1 |
P | am/pm marker | n |
m | minute in hour | 01 |
s | second in minute | 01 |
f | fractional seconds | 1 |
Z | timezone | 01:01 |
z | timezone (same as Z, but modified where appropriate to include a prefix as a time offset using GMT, for example GMT+1 or GMT-05:00. For this component there is a fixed prefix of GMT , or a localized variation thereof for the chosen language, and the remainder of the value is formatted as for specifier Z . |
01:01 |
C | calendar: the name or abbreviation of a calendar name | n |
E | era: the name of a baseline for the numbering of years, for example the reign of a monarch | n |
Перший модифікатор представлення вказує на стиль, у якому має бути представлено значення компонента. Його значення може бути:
fn:format-integer
, який вказує, що значення компонента має бути виведено в числовому вигляді, використовуючи вказаний числовий формат, наприклад:
1
- одна цифа01
- дві цифриi
- римські числа літерами нижнього регіструI
- римські числа літерами верхнього регіструw
- символьне позначення числа у нижньому регістрі,W
- символьне позначення числа у верхньому регістріn
, N
або Nn
, що вказує, що значення компонента має бути виведено за назвою, у нижньому, верхньому регістрі або в заголовку відповідно. Компоненти, які можна виводити за назвою, включають (але не обмежуються ними) місяці, дні тижня, часові пояси та ери. Якщо процесор не може вивести ці компоненти за іменами для вибраного календаря та мови, тоді він має використовувати ·implementation-defined· резервне представлення.Якщо кома має використовуватися як роздільник групування в маркері формату, тоді має бути специфікатор ширини. Точніше: якщо маркер змінної містить одну або більше ком, остання кома розглядається як введення модифікатора ширини, а всі інші розглядаються як розділювачі груп. Отже, [Y9,999,*]
виведе рік як 2,008
. Неможливо використовувати закриваючу квадратну дужку як роздільник групування в маркері формату. Якщо реалізація не підтримує використання потрібного маркера формату, вона повинна використовувати модифікатор представлення за замовчуванням для цього компонента.
$now([picture [, timezone]])
Створює відмітку часу UTC у форматі, сумісному зі стандартом ISO 8601, і повертає її як рядок. Усі виклики $now()
у межах оцінки виразу повертатимуть однакове значення позначки часу. Якщо вказано додаткові параметри picture
та timezone
, поточна позначка часу форматується відповідно до вказаних параметрів.
Приклад
$now() => "2017-05-15T15:12:59.152Z"
Повертає кількість мілісекунд після епохи Unix (1 січня 1970 UTC) у вигляді числа. Усі виклики $millis()
під час обчислення виразу повертатимуть однакове значення.
Приклад
$millis()
=> 1502700297574
$fromMillis(number [, picture [, timezone]])
Перетворює number
, яке представляє мілісекунди з Епохи Unix (1 січня 1970 року за UTC), у відформатований рядок подання мітки часу, як зазначено в рядку picture
. Якщо необов’язковий параметр picture
опущено, мітка часу буде відформатована у форматі ISO 8601.
Приклади
$fromMillis(1510067557121)
=> "2017-11-07T15:12:37.121Z"
$fromMillis(1510067557121, '[M01]/[D01]/[Y0001] [h#1]:[m01][P]')
=> "11/07/2017 3:12pm"
$fromMillis(1510067557121, '[H01]:[m01]:[s01] [z]', '-0500')
=> "10:12:37 GMT-05:00"
Signature: $toMillis(timestamp [, picture])
Перетворіть рядок timestamp
на кількість мілісекунд після епохи Unix (1 січня 1970 UTC) як число.
Якщо необов’язковий рядок picture
не вказано, тоді вважається, що формат позначки часу ISO 8601 . Видається помилка, якщо рядок має неправильний формат.
Якщо вказано рядок picture
, тоді передбачається, що формат описується цим рядком зображення за допомогою того самого синтаксису як функція XPath/XQuery fn:format-dateTime, визначена в специфікації XPath F&O 3.1 . Приклад:
$toMillis("2017-11-07T15:07:54.972Z")
=> 1510067274972