Все ноды/Data/Operators

Логика

Логическая операция: сравнение (==, !=, >, <, >=, <=) или булева операция (and, or, not) над двумя значениями. Возвращает булев результат. Часто используется перед If-нодой.

Логика
InputResult
A
B

Тип в графе: logic_op

Exec

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

Порты можно разделить на исполнение и данные (split ports).

Как попробовать

Минимальный рабочий воркфлоу

Вход
Логика
Выход
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Нода сравнивает два значения и отдаёт true или false как данные: флаг можно записать в переменную, передать дальше по цепочке или подать на вход другой ноды.

Если результат нужен только чтобы разветвить исполнение, чаще достаточно Если: условие пишется прямо в поле ноды, и отдельный шаг сравнения не нужен. Логика оправдана, когда сравниваемые значения уже разложены по портам или когда результат используется больше одного раза.

Как это работает

Операнды приходят в порты «A» и «B»; порт «Input» запускает шаг и дополняет недостающий операнд, если получил массив [a, b] или объект {"a": …, "b": …}. Операция «Не (!a)» использует только «A».

Сравнения различаются по строгости. «Равно» и «Не равно» сверяют значения как есть, без приведения типов. «Больше», «Меньше» и их варианты сначала переводят обе стороны в числа. «И», «Или», «Не» работают по истинности значения: непустая строка, ненулевое число и непустой список считаются истиной.

Частые ошибки

  • Число, пришедшее текстом, не равно числу. "5" и 5 при сравнении «Равно» дают false. Задайте тип на источнике — например, в Константе или в объявлении переменной.
  • Числовое сравнение нечисел молча даёт false. «Больше» на двух строках не падает, а возвращает отрицательный ответ — ветка ниже пойдёт не туда, а ошибки в запуске не будет.
  • Строка «false» истинна. Для «И», «Или», «Не» важна непустота, а не содержимое: текст false, пришедший из шаблона, считается истиной. Сравнивайте такие значения через «Равно».
  • Отсутствующий операнд останавливает шаг. Единственное исключение — «Не (!a)», которому «B» не нужен.
  • В шаблоне результат выглядит как True и False — с заглавной буквы. Сравнивая его ниже как текст, учитывайте написание.

Входы

ПортПроводДанныеПримечания
InputinputИсполнение + данныеexecute_data

Run trigger and operands: a 2-element array [a, b] or an object {"a": …, "b": …} fills whichever of A/B is not wired directly.

AaДанныеdata

First operand

BbДанныеdata

Second operand (not used for 'not')

Выходы

ПортПроводДанныеПримечания
ResultoutputИсполнение + данныеexecute_dataobject

Настройки

ПолеТипПо умолчаниюОписание
Операцияoperationstring==

Варианты: == — Равно (==), != — Не равно (!=), > — Больше (>), < — Меньше (<), >= — Больше или равно (>=), <= — Меньше или равно (<=), and — И (&&), or — Или (||), not — Не (!a)

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.