PlantUMLアクティビティ図でContinueを表現する代替手法

この記事は公開から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を使ったときの制御フローを表現できるようになりました。

file


参考ウェブサイトなど

  • PlantUML
    アクティビティ図(新構文) コネクタ

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする