条件が整うとき
目次
実際の使いどころ
「すでに状況が整っているときは、イベントは再度実行されることはない」というのは、時としてプログラムを困難にします。
たとえば、アプリAを起動中は、WiFi を使いたいとします。
「現在アプリがAなら」 WiFi をオンにし、「現在アプリがAでないなら」ら WiFi をオフにするイベントを作りました。
これとは別のイベントで、画面を消したら省電力のために WiFi を切断するようにしていたとします。
アプリAを起動したら、WiFi がオンになります。
そのまま画面を消したら、WiFi がオフになります。
再度画面を点けたら、アプリAを使っているのに、WiFi は使えない状態です。
「現在アプリがAなら」の状況はずっと整ったままなので、新たに行動が起こることはないのです。
こんなとき、「現在アプリがAなら」のイベントに「画面オンなら」の状況を併記します。
操作しているときは、当たり前ですが画面はオンです。こちらはフィルタとして働きます。
アプリAが起動すると、WiFi をオンにします。
画面消去時に、現在アプリがAのままなら、こちらがフィルタとして働きます。
画面をオンにすると、WiFi をオンにします。
もちろん、画面オン時にA以外のアプリを使っていた場合は、WiFi がオンになることはありません。
WiFi を使いたいのはアプリAなので、これで正常動作。
これで目的達成です。
自分が快適に使える環境を作ろうとすると、時には非常に複雑なイベント群を作らないといけないこともあります。
しかし、状況をうまく組み合わせて狙い通りに行動を起こせたときは、快哉を叫びたくなります。
役に立ちそうなイベントを組み立てられたら、ぜひ教えてください。