Типы данных
Типы данных являются ключевыми ограничениями всех языков программирования, однако в базовых блок-схемах определять используемый тип данных не всегда требуется, но в реальных устройствах с этим работать приходится.
Вид типизации
В Sync используется Строгая Динамическая типизация. Данные в строгой типизации просят работать с ними только с учетом типа, это значит, что складывать строку и число будет неправильно. Динамическая типизация позволяет изменять тип данных на ходу и даже в одной переменной.
Используемые типы
Как и в большинстве языков программирования, в Sync используются стандартная палитра типов (каждый тип имеет цветовое обозначение):
| Тип | Описание | Данные | Цвет |
|---|---|---|---|
| int | целочисленный тип | 0, 40, -3, … | Голубой |
| real | вещественный тип | 0.123, 3.14, -172.001, 1/3, … | Зеленый |
| number | обобщение int и real | 1 → 1, 2.2 → 2.2, 3.0 → 3 | Бирюзовый |
| char | символьный тип | ‘a’, ‘8’, ‘&’, … | Желтый |
| str | строковый тип | “a”, “i am string”, “think about it”, … | Желтый |
| bool | логический тип | true или false | Фиолетовый |
| obj | объектный тип | int, str, bool, … | Оранжевый |
По большей части number заменяет real, так как выход number может вернуть real, а значит нужно быть осторожным, если нужен именно целочисленный тип.
Дополнительно можно выделить:
| Тип | Описание | Данные | Цвет |
|---|---|---|---|
| any | бестиповой | любые | Серый |
| ctrl | сигнал | - | Бордовый |

Входы узлов
В Sync наравне с типизацией данных существует типизация входов по количеству подсоединенных узлов.
Большинство входов ограничены одним соединением, однако часть входов позволяет подключать сразу несколько. Это можно определить формой входа:
- Треугольный - одно соединение
- Круглый - одно соединение
- Прямоугольный - неограниченное количество
- Квадратный - неограниченное количество (уменьшенная копия прямоугольных входов)
