この記事は公開から1年以上経過しています。
PlantUMLのアクティビティ図(新構文)はループをBreakすることはできても何故かContinueを使えないことからif文で処理をスキップするなどの方法で表現する必要がありますが、これ以外でContinueを表現する代替手段を思いついたので紹介します。
ちなみに「素直にif文使えばよいのでは?」という意見もあるかと思いますが、Roslynで.NETソースコードからPlantUMLのアクティビティ図を生成するツールを個人的に作成していた際、フローを変えずに済むこの方法が一番楽でしたので…。
対応
コネクタを利用する。
@startuml
start
while (loop forever)
if (continue) then (yes)
(A)
endif
:Do something;
if (break) then (yes)
break
endif
(A)
endwhile
stop
@enduml
結果
Breakのように直接ラインを繋いで戻せないのが微妙ではありますが、一応Continueを使ったときの制御フローを表現できるようになりました。
参考ウェブサイトなど
- PlantUML
アクティビティ図(新構文) コネクタ
以上です。