Функции in-Line Kit
Выбор нужной функции, точная запись и вложенность, побочные действия и все способы сообщения об ошибке.
Начните с результата, который нужен полю: текст, разобранное значение, двоичная запись, ключ, шифротекст либо изменение состояния проекта. Затем откройте один тематический раздел и копируйте точную форму вызова оттуда. Место функций в общем порядке обработки показано в .
Что выбрать
Текст и списки строк
Регистр, края и длина строки, выбор знака, сортировка, отбор, перемешивание и повтор запроса.
Данные и разбор
Поля JSON, разбор текста, регулярные выражения, замены, соединение результатов и математическое выражение.
Кодирование и форматы
Base64, шестнадцатеричная запись, адреса, Unicode, ANSI, JSON и другие печатные представления байтов.
Сжатие и двоичные данные
Массивы байтов UTF-8, ZLIB, GZIP и сообщения Protobuf по явному описанию полей.
Контрольные суммы и ключи
SHA, BLAKE, HMAC, производные ключей, парольные функции, случайные байты и UUID.
Шифрование
AES, AES-GCM, RSA, Salsa20, ChaCha20 и Blowfish с точными ключами, векторами и обратимыми парами.
Выполнение и проект
Выполнение кода, ожидание, остановка, идентификаторы, прокси, время, вывод и сохранение файлов.
Сеть и состояние запроса
Добавление, замена и удаление данных cookie, а также создание строки User-Agent.
Одна функция описана в одном месте
Страницы разделены по назначению результата, а не по похожести названий. Например, Base64 относится к представлению байтов, сжатие — к уменьшению данных, а шифрование — к защите содержимого; это три разные операции.
Общая запись выражения
Самостоятельная функция состоит из одной пары круглых скобок и двух одинаковых меток:
Рабочий пример:
Результат — PRIVATE KEEPER.
Открывает самостоятельное вычисляемое выражение. Эта скобка относится ко всей внешней функции.
Первая метка начинает функцию, вторая такая же метка завершает её вход. Закрывающая метка обязательна.
Закрывает всё самостоятельное выражение. У вложенных функций своей пары круглых скобок нет.
Имя чувствительно к точному написанию из справочника. |UPPER|text|UPPER| закончено, а |UPPER|text, |UPPER|text|LOWER| и (|UPPER|text) не задают правильную пару.
Вложенные функции
Внешняя функция получает результат внутренней как своё входное значение. Круглые скобки ставятся только вокруг всей цепочки; каждая внутренняя функция получает лишь собственные парные метки.
Один внешний набор скобок
Сначала UPPER возвращает DEMO, затем BASE64 получает именно DEMO и возвращает REVNTw==.
Вкладывайте результат, а не самостоятельное выражение
Форма (|…|…|…|) нужна внешней функции или отдельному вызову в тексте. Внутри другой функции используйте только |ИМЯ|…|ИМЯ|, без добавочной пары ( и ).
Где можно поставить функцию
(|LOWER|MainTeam|LOWER|) заменяет всё содержимое поля результатом mainteam.
team-(|LOWER|MainTeam|LOWER|)-ready превращается в team-mainteam-ready; окружающий обычный текст сохраняется.
|DV|[Team]=(|LOWER||PARS|[1]|LOWER|) сохраняет преобразованное значение первого обычного разборщика.
Для нескольких присваиваний или отдельных побочных действий используйте многострочный блок:
Здесь результат LOWER сохраняется, а PRINT выполняется отдельной строкой. Не вкладывайте функцию с побочным действием в преобразование текста только ради порядка выполнения: её подтверждение или пустой результат станет входом внешней функции.
Динамическое значение внутри JSON
Если переменная подставляется между кавычками JSON, её кавычки, обратные косые черты и переводы строк должны быть подготовлены функцией .
У вложенной ESCJSON нет круглых скобок. Если |DV|[Message] равно Он сказал: "да", внешний объект останется правильным JSON; простая подстановка без ESCJSON разорвёт строку на кавычке.
Значение, побочное действие и управление
Одинаковая запись функции не означает одинаковое назначение результата. Перед вложением проверьте, к какой группе относится вызов.
Возвращает значение
UPPER, SHA256, URLENCODE и большинство функций заменяют вызов вычисленной строкой. Их результат можно сохранять или передавать внешней функции.
Меняет состояние
Операции cookie, прокси, идентификаторов, файла и вывода сначала меняют состояние или выполняют действие. Возвращаемое подтверждение, сообщение либо пустая строка не являются самим новым состоянием.
Управляет выполнением
SLEEP, PAUSE, PAUSEFOR, STOP и REPEAT задерживают, повторяют или прекращают работу. Их нельзя оценивать как обычное преобразование строки.
Выбирает случайно
Случайная строка, байты, ключ, UUID или User-Agent могут отличаться при каждом вызове. Если одно значение нужно повторно, вызовите функцию один раз и сохраните результат.
Как сообщаются ошибки
Единого вида ошибки у старых функций нет. Каждая тематическая страница указывает фактический договор конкретного вызова.
Неверный вход может вызвать исключение и остановить текущее вычисление. Так ведут себя, например, BYTESTOSTR с неверным JSON и PROTOBUF без обязательных полей.
Многие функции перехватывают сбой и возвращают текст как будто это данные. Частое начало — Error: , но встречаются другие начала, переведённые сообщения и строки без общего признака.
Ошибка AES-GCM возвращается объектом {"error":"..."}. Такой объект отличается и от исключения, и от обычной строки Error: ....
Отдельные старые функции при сбое возвращают пустую строку либо исходный текст. Например, ошибка SCRYPT может дать пустую строку, а ANSITOUTF8 при неудачном преобразовании возвращает вход.
Функция может изменить состояние до поздней ошибки. Операции cookie обрабатывают строки по порядку и не отменяют ранние изменения.
Некоторые ветвления принимают неизвестное значение как другую допустимую ветвь или игнорируют неизвестное свойство. Такие исключения явно помечены на странице функции.
Не существует общего правила «непусто — значит успешно»
Не создавайте общий распознаватель по словам или одному началу строки: он пропустит объект ошибки, пустой сбой и сообщение с другим началом, а обычные данные могут случайно совпасть с проверяемым текстом. Сверяйте результат только с договором выбранной функции: ожидаемым видом JSON, размером и представлением данных либо явно указанным результатом побочного действия.
Если функция вернула ошибку обычной строкой, внешняя функция может обработать её как нормальный вход. Поэтому сначала завершите и проверьте внутренний вызов отдельно, а затем объединяйте выражения.
Как пользоваться справочником без догадок
1. Выберите требуемый результат
Нужен текст, байты, ключ, шифротекст или изменение состояния? Это определяет тематическую страницу и не даёт спутать похожие названия.
2. Скопируйте полный пример
Сохраните регистр имени, обе парные метки, обязательные поля JSON и допустимые значения. Не удаляйте поле только потому, что его смысл кажется очевидным.
3. Замените только входные значения
Сначала подставьте постоянный короткий текст. Для JSON отдельно подготовьте каждую динамическую строку, которая может содержать кавычки или перевод строки.
4. Проверьте один вызов
Убедитесь в точном значении, виде и побочном действии. Только после этого вкладывайте функцию, добавляйте случайность или включайте её в многострочный сценарий.