Skip to content

Формы значений

На каждой стрелке между шагами написано, что по ней течёт. Это форма значения — то, что конструктор может сказать честно, не открывая книг проекта. Форма считается из самих шагов, а не из данных, поэтому она известна до всякого прогона.

ПодписьЧто течёт
объектОдин объект проекта.
объектыСписок объектов.
текстОдна строка.
текст ×NСписок строк. У объектов множественность выражается словом, у остальных — пометкой ×N: «текст ×N» короче и не путается с «текстами».
число · число ×NЧисло или список чисел.
да / нет · да / нет ×NПризнак.
словарь · словарь ×NНабор «имя → значение»: строка листа, набор колонок объекта.
значение · значенияФорма неизвестна: так выглядит результат вызова чужой схемы или ещё не разобранного «Своего кода».

Связь всегда несёт список

Section titled “Связь всегда несёт список”

Внутри движка по связи всегда идёт список; одиночное значение — это список из одного элемента. Поэтому шаги пишутся один раз и работают и над значением, и над выборкой: «Взять поле» одинаково берёт поле у одного объекта и у семидесяти двух.

Отсюда правило: количество на выходе обычно повторяет количество на входе. Пришёл один путь — вышла одна часть пути; пришло десять — вышло десять.

Почему палитра гасит часть действий

Section titled “Почему палитра гасит часть действий”

Каждый вход шага знает, что он умеет принять. Палитра берёт форму того, чем схема заканчивается сейчас, и гасит действия, которые эту форму не примут. Правило одно на палитру, на автоподключение и на проверку связей — иначе палитра предлагала бы шаг, который потом не подключится.

Что чем считается взаимозаменяемым

Section titled “Что чем считается взаимозаменяемым”
ПравилоПояснение
текст = число = да / нетДля счёта это одно и то же: шаги читают их строкой, и проверка связей их не различает.
объект ≠ текстОбъект строкой не становится. Иначе объект, уехавший в «Склеить», попал бы в ячейку именем класса.
словарь ≠ текстПо той же причине.
словарь принимают отдельноЧасть входов ждёт словарь явно — туда словарь и подключают, а не в первое «Значение». Например вход «Список» у «Подставить по списку».

Шаг, который встаёт по-разному

Section titled “Шаг, который встаёт по-разному”

Некоторые действия меняют настройки в зависимости от того, после чего их поставили. Это не магия редактора — так устроены сами шаги.

ДействиеПосле объектов или словаряПосле текста
Найти объектыВстаёт с источником в пришедшем — отбором того, что нашёл шаг выше. Второй поход в проект посреди цепочки почти всегда описка.Идёт в проект, а пришедший текст становится операндом условия.
Взять N-йТо же: отбирает из пришедшего.После списка текстов берёт из него («Разбить “A, B, C” → взять второй»). После одиночного текста идёт в проект и сравнивает по нему.

Там, где форма важна, окно пишет её прямо: строка форма: на фигуре и в подсказке палитры. По этой же форме считается, чем схема может закончиться: схема, отдающая объекты, из ячейки не зовётся — в ячейку уезжает текст и только текст.