メニュー

logo

カチシステムはお客様に寄り添った
システム開発と支援サービスを提供し
「やさしい最先端」を創造します。

【第9回】ロータス博士のWinActor塾~サブルーチン

2020.05.29

サブルーチンとは

共通処理や処理ノードの数が多い場合、特定の処理を外に出すこと(サブルーチン化)で

見やすくなり、何をしているか理解することが容易になります。

また、処理が区別されるためシナリオの修正やエラー発生箇所の把握がしやすくなるという利点もあります。

 

サブルーチンを使わなくてもシナリオを作成することはできます。

しかし同じ処理を何度も行う場合にサブルーチン化をしていないと、シナリオが長くなることに加え

メンテナンスが発生した場合に修正箇所が多くなってしまいます。

 

サブルーチン化することによって下記のメリットがあります。

 

  • ノード数の削減
  • シナリオの単純化
  • フローの見やすさの向上
  • メンテナンスがしやすい

  

サブルーチンの利用例

サブルーチンで処理を外に出すというのはどういうことなのか、フロー図で見てみましょう。


 

一定の処理をサブルーチンした場合

 

 

サブルーチンは移動先の処理が終わったら呼び出し元に戻ります

 

 

共通処理をサブルーチンにした場合

 

 

 

使いまわしするような同じ処理はサブルーチン化することで1つにまとめることができる。

フローも簡略化されて見やすくなる。良いことずくめじゃな!

では実際の使い方を覚えていこう。

サブルーチンの使用方法

使用するノードは下記の3種類です。

それぞれフローチャート画面にドラッグ&ドロップしましょう。

 

「サブルーチン呼び出し」と「サブルーチングループ」は対となります。

どちらか一つでは意味がありません。

 

 

 

どのような機能なのか、それぞれのノードのプロパティを見てみよう。

 

サブルーチン呼び出し

 

 

 

 

 

サブルーチングループ

 

 

 

 

※1 「サブルーチングループ」の名前を変更すると、下記のダイアログが表示され

   影響を受けるサブルーチンのサブルーチン名が同時に変更されます

 

※2 ローカル変数を追加すると、下記のダイアログが表示され

   影響を受けるサブルーチングループのプロパティ内容が変更されます。

 

 

 

引数について

 

引数(ひきすう)とは、一般的に関数(ここでいうサブルーチン)を実行する際に引き渡す値のことを指します。

WinActorでは、サブルーチングループでのローカル変数の設定として使用します。

 

 

ローカル変数

 

ここでのローカル変数というのは、サブルーチングループ内だけで使用される変数のことを言います。

一般的なプログラムのローカル変数とは少し違う動きをしていますので注意しましょう。

サブルーチングループ内でその変数をいじっても、サブルーチングループを抜けたときに値がもとに戻ります。

 

ローカル変数は使いこなすのに多少時間がかかるかもしれんな。

実際のフローを使って、変数一覧の変化を見てみよう。

 

(1)「数量」「引数」の初期値

 

 

 

 

 

サブルーチン終了

 

サブルーチンは、最後まで処理が進むと呼び出し元に戻ってきます。

しかし「サブルーチン終了」ノードを使用すると、サブルーチンの処理の途中でも強制的に終了し

呼び出し元まで戻ることができます。

 

主に分岐と組み合わせて、特定の状況になったら処理を中断して戻るといったフローに利用します。

 

 

 

どうじゃったかな?

最初はフローの流れがあちこちに飛ぶため難しく感じるかもしれんな。

しかしそれも慣れじゃ!サブルーチンを使うとメリットがたくさんあるからの。

繰り返しには便利ですね。

同じ処理を何度も作らなくて良いのは楽!

「サブルーチングループ」は「サブルーチン呼び出し」だけでなく

監視ルールから呼び出すこともできるぞ。

次回、「例外処理と監視ルール」でまた会おう!


 

関連記事こちらの記事も合わせてどうぞ。

最近の記事

カテゴリ

PAGETOP