UML EditorОткрыть редактор

Справочник / Общие возможности / Переменные, процедуры и условия

Переменные, процедуры и условия

Препроцессор выполняется до рисования схемы и подставляет текст. Он избавляет от повторов: имя сервера в переменной, типовой блок в процедуре, ряд однотипных элементов в цикле.

Переменные

Переменная начинается со знака $ и задаётся через !$имя = значение. Подставляется по имени.

@startuml
!$db = "PostgreSQL 16"
!$port = "5432"
node Сервер
database "$db" as DB
Сервер --> DB : TCP $port
@enduml
Переменные — пример

Процедуры

!procedure описывает повторяющийся фрагмент с параметрами, !endprocedure — его конец. Вызывается как функция; текстовые аргументы берутся в кавычки.

@startuml
!procedure $service($name, $port)
  component "$name\n:$port" as $name
!endprocedure
$service("Каталог", "8081")
$service("Корзина", "8082")
Корзина --> Каталог
@enduml
Процедуры — пример

Условия и циклы

!if … !else … !endif включает фрагменты по условию, !while — повторяет их.

@startuml
!$detail = 1
class Заказ
!if ($detail == 1)
class Позиция
Заказ *-- Позиция
!endif
!$i = 1
!while $i <= 3
class "Склад $i" as S$i
Заказ ..> S$i
!$i = $i + 1
!endwhile
@enduml
Условия и циклы — пример

Что недоступно на сайте

Ради безопасности сервер рисует схемы в «песочнице»: директивы !include с файлами и адресами в интернете не выполняются. Нужный фрагмент вставьте прямо в код схемы.

Другие общие возможности