如何解决PlantUML 活动图新测试版语法与短代码引用早期活动?
我使用旧的 PlantUML 活动语法 (https://plantuml.com/activity-diagram-legacy) 创建了一个活动图:
@startuml
(*) --> "Request created" as Request
Request --> "Review request" as Review
if "is Accepted?" then
--> [Yes] "Assign"
if "is Urgent" then
--> [Yes] "In Development`"
--> "Engineer Assigned"
else
--> [No] "Backlog" as Backlog
Backlog --> Review
endif
else
--> [No] "Won’t Do"
endif
@enduml
看起来像这样:
我现在正在尝试使用新的(测试版)语法 (https://plantuml.com/activity-diagram-beta) 重新创建此图表,但无法复制短代码的功能以引用并返回到较早的活动步骤。
@startuml
start
:Request created;
:Review request;
if (is Accepted?) then (Yes)
:Assign;
if (is Urgent) then (Yes)
:In Development;
:Engineer Assigned;
stop
else (No)
:Backlog;
' HERE I WOULD LIKE BACKLOG TO HAVE
' A BACKWARD ARROW POINTING UP TO
' "REVIEW REQUEST"
endif
else (No)
:Won’t Do;
stop
endif
@enduml
是否可以使用新语法实现与我使用旧语法创建的相同的图表?
解决方法
你可以这样做:
@startuml
start
:Request created;
while (Review request?) is (accepted)
:Assign;
if (is Urgent ?) then (Yes)
:In Development;
:Engineer Assigned;
stop
else (No)
:Backlog;
endif
endwhile (not accepted)
:Won't Do;
stop
@enduml
生产:
...这和你的第一个图一样非法,因为有两个输入流到 Review request 而我们不是在一个是 decisionInputFlow 和另一个是主要传入边(参见第 15.3.3.6 节 决策节点页面 390 of formal/2017-12-05),必须在 决策节点之前使用合并节点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。