Sikulixの繰り返し処理まとめ〜while文とfor文のループの違いを解説

2020年11月10日

sikulixで繰り返し処理を行いたい場合には、ループ処理を用います。

今回、sikulixのJythonで利用可能なwhileループとforループの書き方と使用例、それぞれの違いを解説します。

sikulixで繰り返し処理はループ

Sikulixを利用していると、同じ処理を何回も行うケースがでてきます。

同じ処理を何回も実行する場合には、コードを繰り返す回数分記述すれば実現できます。

しかし、そうするとコードを修正したい場合に、繰り返す回数分の修正箇所が発生します。

さらに、sikulixのコードも長くなるので、スクリプトの可読性も低下します。

そんな時に繰り返し処理をループで行うことができます。

ループ処理なので、コード内の処理を繰り返し実行が可能になります。

Sikulixのループ処理はwhileとforの2種類

sikulixのループ処理にはwhile文とfor文と呼ばれる2種類が用意されています。

この2種類を繰り返ししたい処理の内容に応じて使い分けます。

sikulix(Jython)のwhileループの記述方法

まず、sikulixのwhileループの書き方を解説します。

今回はsikulixのJython(Pythonライクの言語)の場合の記述方法です。

whileのあとに条件となる判定式を書き、繰り返し実行したい処理をインテントして書いていきます。

sikulixのJythonでのWhileループのサンプルコードと実行結果

インテントが終わったところまでのコードがループされます。

最初に判定式で条件に当てはまるかチェックし、当てはまらない(条件が偽である)場合は繰り返し処理のコードが実行されます。

繰り返し処理が完了後、再度条件判定が行われて、条件を満たす(条件が真になる)までwhileループが繰り返されます。

sikulixのJythonでのWhileループの処理を実行した結果

そのため、繰り返し処理の中で、条件式を満たすように変数が変化しないと無限ループに陥りやすい特徴があります。

繰り返し処理をしている中で、ループから抜け出したい場合は、breakコマンドを実行すると、抜けることができます。

sikulix(Jython)のforループの記述方法

続いてもう一つのループ、for文を紹介します。

sikulixのJythonでのforループのサンプルコード

for文では、変数とrangeで入力する範囲の数値を記載します。

そのあと、while文と同様に繰り返し実行したい処理をインテントして書いていきます。

今回の場合は最初に0がnumに代入され、9までの計10回数値が1ずつ上がっていきます。

0~9までの合計10回、インテントした箇所の繰り返し処理が実行されます。

sikulixのJythonでのForループの処理を実行した結果

forループの場合は、ループ処理の中で変数が切り替わるようになっているため、実行する回数はforループの行を見るとわかる様になっています。

for文でもwhile同様にループから抜け出したい場合は、breakコマンドを実行すると、抜けることができます。

また、for文の場合はcontinueコマンドというものも用意されています。

continueコマンドを実行すると、forループ処理をスキップすることができます。

breakコマンドはforループが終了してしまいますが、continueはその処理のみ終了し、カウントアップしたループが行われます。

whileループとforループの使い分け

これまでに紹介したwhileループとforループは同じ繰り返し処理ですが、ループの特性が異なります。

whileループの場合は、条件を満たすまでは何回もループを行い、ループ処理を行っている中で変数が変わり、条件を満たしたところで処理が終了します。

それに対し、forループというのは予め用意された配列の値を全て格納して処理を行う、また決まった回数の処理を繰り返すといった、ループ回数が決まっています。

sikulixで利用できるループはwhile文とfor文の2種類のそれぞれの書き方

そのため、繰り返し処理を行う回数が決まっているループの場合はforループを用いるようにしましょう。

予め回数が決まっていないタイプの場合はwhileループという使い分けができます。

もちろん、forループのような回数が決まっている繰り返し処理もwhileループで記述することも可能です。

しかし、コードの可読性・読みやすさを考えると、forループのほうが他の人が読んだときに理解しやすいです。

まとめ・終わりに

今回、sikulixの繰り返し処理で用いる、ループ処理について紹介しました。

Sikulixを使ったRPAでは同じ処理の繰り返しが多くあるので、ループ処理でコードの行数を減らすことができます。

sikulixのループ処理には、whileループとforループの2種類が用意されています。

条件を満たすまで回数制限なく実行したい場合はwhileループ、一定回数繰り返したい場合はforループを使って処理するようにしましょう。