このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。 M5Stack

UIFlow2:制御文(Logicブロック)if や caseの使い方

今回はUIFlowプログラミングの中で、条件を制御するブロック。
ifブロックと、select〜caseブロックについて解説していきます。

if ブロック

ifブロック

特定の条件が成立した場合に do の部分のブロックを実行します。

ブロック左上のをクリックすると else if と else を追加することができます。

if の条件式の部分には、(大小比較)や(and , or)などの
条件比較のブロックを使用します。

基本的な使い方

この例では、ageが18以上の時、Web Terminal に『成人です。』と表示されます。

elseを追加した例

age が 18未満の時、Web Terminal に『未成年です。』と表示されます。

さらにelse if 追加した時の例

この例では、年齢が18歳以上、60歳未満の場合には『成人です。』
60歳以上の場合には『高齢者です。』
18歳未満の場合には『未成年です。』
と表示されます。

switch〜caseブロック

switch〜caseブロック

caseの条件のマッチングを行い、特定のケースに一致する場合、設定したコードを実行します。
ブロック下部の『+』『−』をクリックすると、caseの数(種類)を増減することができます。

条件には、大小比較やand、orなどの論理式を指定することもできますが、
通常は、switchには変数、caseには文字列などの特定のパターンを指定します。

UIFlowの内部では、if 〜 else if 〜 else で動作しています。

switch〜caseの事例

この事例では、変数 command の内容に応じて、適切な処理を実行します。
条件分岐が多い場合には、ifブロックよりも、swith〜caseブロックを使ったほうがプログラムの見通しがよくなるでしょう。

まとめ

UIFlowで扱う主な制御文 ifブロックとcaseブロックについて解説しました。

ifブロックは、特定の条件がTrueかFalseかに基づいて、異なるアクションを実行するために使用されます。
これは複雑な論理判断や少数の条件に適しています。

一方、select〜caseは、特定の値に対して、多数の可能なケースを簡潔に処理するために役立ちます。
両方のブロックを適切に使い分けて、可読性を高め、エラーが少ないプログラムを目指しましょう。

-M5Stack