PlantUML 新的活动图语法,活动以冒号开头,分号结束,不再是箭头。
基础与 if
start、stop、end、if、then、elseif、endif 是常用的关键词。
@startuml itpow start :打开网站; if (正常打开?) then (yes) :看视频; elseif (卡得很?) then (yes) :聊天; else (no,打都打不开) stop endif stop @enduml
then、else 括号后面的不是必须的,elseif、else 也是根据实际添加。
repeat 与 while 循环
repeat、repeat while、backward
start repeat repeat while stop
细化一下:
start repeat : 吃 repeat while (这回吃饱了吧?) is (还没有) stop
->xx; 为另一分支加上标签:
start repeat : 吃 repeat while (这回吃饱了吧?) is (还没有) ->饱了; stop
start repeat : 吃 :喝; backward:盛饭; repeat while (这回吃饱了吧?) is (还没有) ->饱了; stop
while、end while
start while (还有饭?) is (yes) :吃; end while (no) stop
语法比较
repeat、repeat while 分支是在:
repeat while 使用 (xxx) is (xxx)
另一分支在后面用 ->xx;(记得要分号)
while、end while 分支是在:
while 使用 (xxx) is (xxx)
另一分支是在 end while 使用 (xxx)
分支和合并
fork、fork again、end fork
start fork :买油; fork again :买米; fork again :买菜; end fork :做饭; stop
end merge
end fork 可以改成 end merge
start fork :买油; fork again :买米; fork again :买菜; end merge :做饭; stop
泳道和分组
|| 泳道
|A| start :买菜; |B| :做饭; |A| :洗碗; stop
group 分组、partition 隔断,效果一样
start group 饭前准备 :买菜; end group partition 饭后收拾 { :擦桌; :洗碗; } stop
二者语法不一致,partition、package、rectangle、card 都是使用的花括号。
颜色
|#pink|A| start group 饭前准备 #red:买菜; end group |B| partition #green 饭后收拾 { -[#blue]-> :擦桌; :洗碗; } stop
泳道:名称前面加,并加竖线。
活动:冒号前面加。
线条:显式指定-[颜色]->。
分割:名称前面加,并加空格。
备注
:活动; note left 备注内容 end note
使用 note 方向 + end note,即可对上面的活动进行备注。
竖向 if
if 默认是横向的,如果 elseif 较多,会导致横向太宽,可改为竖向的。
!pragma useVerticalIf on
说明:不论该命令在前在后,都会改变该图所有的 if 布局。