【第9回】ロータス博士のWinActor塾~サブルーチン
サブルーチンとは
共通処理や処理ノードの数が多い場合、特定の処理を外に出すこと(サブルーチン化)で
見やすくなり、何をしているか理解することが容易になります。
また、処理が区別されるためシナリオの修正やエラー発生箇所の把握がしやすくなるという利点もあります。
サブルーチンを使わなくてもシナリオを作成することはできます。
しかし同じ処理を何度も行う場合にサブルーチン化をしていないと、シナリオが長くなることに加え
メンテナンスが発生した場合に修正箇所が多くなってしまいます。
サブルーチン化することによって下記のメリットがあります。
- ノード数の削減
- シナリオの単純化
- フローの見やすさの向上
- メンテナンスがしやすい
サブルーチンの利用例
サブルーチンで処理を外に出すというのはどういうことなのか、フロー図で見てみましょう。
サブルーチンは移動先の処理が終わったら呼び出し元に戻ります
使いまわしするような同じ処理はサブルーチン化することで1つにまとめることができる。
フローも簡略化されて見やすくなる。良いことずくめじゃな!
では実際の使い方を覚えていこう。
サブルーチンの使用方法
使用するノードは下記の3種類です。
それぞれフローチャート画面にドラッグ&ドロップしましょう。
「サブルーチン呼び出し」と「サブルーチングループ」は対となります。
どちらか一つでは意味がありません。
どのような機能なのか、それぞれのノードのプロパティを見てみよう。
※1 「サブルーチングループ」の名前を変更すると、下記のダイアログが表示され
影響を受けるサブルーチンのサブルーチン名が同時に変更されます
※2 ローカル変数を追加すると、下記のダイアログが表示され
影響を受けるサブルーチングループのプロパティ内容が変更されます。
引数(ひきすう)とは、一般的に関数(ここでいうサブルーチン)を実行する際に引き渡す値のことを指します。
WinActorでは、サブルーチングループでのローカル変数の設定として使用します。
ここでのローカル変数というのは、サブルーチングループ内だけで使用される変数のことを言います。
一般的なプログラムのローカル変数とは少し違う動きをしていますので注意しましょう。
サブルーチングループ内でその変数をいじっても、サブルーチングループを抜けたときに値がもとに戻ります。
ローカル変数は使いこなすのに多少時間がかかるかもしれんな。
実際のフローを使って、変数一覧の変化を見てみよう。
(1)「数量」「引数」の初期値
サブルーチンは、最後まで処理が進むと呼び出し元に戻ってきます。
しかし「サブルーチン終了」ノードを使用すると、サブルーチンの処理の途中でも強制的に終了し
呼び出し元まで戻ることができます。
主に分岐と組み合わせて、特定の状況になったら処理を中断して戻るといったフローに利用します。
どうじゃったかな?
最初はフローの流れがあちこちに飛ぶため難しく感じるかもしれんな。
しかしそれも慣れじゃ!サブルーチンを使うとメリットがたくさんあるからの。
繰り返しには便利ですね。
同じ処理を何度も作らなくて良いのは楽!
「サブルーチングループ」は「サブルーチン呼び出し」だけでなく
監視ルールから呼び出すこともできるぞ。
次回、「例外処理と監視ルール」でまた会おう!
関連記事こちらの記事も合わせてどうぞ。
2024.11.05
【第105回】ロータス博士のWinActor塾~新しい画像マッチング画面
2024.09.27
【第104回】ロータス博士のWinActor塾~ガイド利用シナリオ(作成編)
2024.09.10