条件判断ブロック

最終更新日: 2022年7月25日

条件判断のブロック

「条件判断」タブのブロックは次の通りです。

条件判断ブロック一覧

もし〜ならば

もし~ならばブロック

「もし〜ならば」ブロックは図のように上部に「条件となるブロック」を、下部に「条件が成立した時に処理するブロック」をセットして使います。

「条件となるブロック」は一つだけです。
後述する「X =(≠/>/≧/</≦) Y」ブロックを使うことができます。

「条件が成立した時に処理するブロック」は複数個、挿入することができます。

「もし〜ならば」ブロックの階段をつくる

ギアアイコンをクリックすると「そうでなくもし」「そうでなければ」という二つのブロックが表示されます。これをマウスで選択し、ドラッグ&ドロップすることで、「もし〜ならば」ブロックの階段をつくることができます。

ギアアイコンをクリックする

「そうでなくもし」ブロックを追加することで、「もし〜ならば処理Aを、そうでなくもし〜ならば処理Bを」というような分岐処理を実現できます。

「そうでなくもし」ブロック

「そうでなくもし」ブロックは何段にも重ねることができます。これを「もしブロックの階段」と呼びます。一つ一つのブロックに条件ブロックをセットします。

もしブロックの階段をつくる

階段の最後に「そうでなければ」ブロックを追加すると、上の条件をすべて満たさなかった場合(どれでもなかった場合)に行う処理を記述することができます。

「そうでなければ」ブロック

ブロックをとりはずす

ギアアイコンを表示した状態で、追加したブロックを選択し、左側(背景がグレーの部分)に移動することで、追加したブロックをとりはずすことができます。

ブロックを削除する

X =(≠/>/≧/</≦) Y

X =(≠/>/≧/</≦) Yブロック(例)

「もし〜ならば」ブロックの条件部(上の部分)にセットすることができます。

ブロックの左側(「左辺」といいます)に、比較したいブロックをセットします。このブロックには「変数」または「モデルの項目」が入ります。

ブロックの右側(「右辺」といいます)に、比較したい「値」ブロックをセットします。値は固定値("0" や "1" などの数値ブロック, "名前" などの文字列ブロック)を使うこともできますし、「変数」を使うこともできます。

~かつ(または)~

条件となるブロックは「1つ」しか作ることができません。しかし「かつ(または)」ブロックを組み合わせることで、複数の条件をひとつにまとめることができます。

~かつ(または)~ブロック(例)

このブロックをさらに組み合わせることができます。「〜かつ〜かつ〜かつ」を実現したい場合、「〜かつ〜」ブロックを、もう一つの「〜かつ〜」にセットします。

〜かつ〜かつ〜かつ (1)

次のように並びを変えても意味は同じです。

〜かつ〜かつ〜かつ (2)

Tips

判断処理は左側から順に行われます。そのため、左からみて最初に条件がfalse (不成立)となった段階で、右側の判断は自動的に行われなくなります。そのため不成立になる可能性が高いものを、より左側に配置するとよいでしょう。

ブロックを折りたたむ

ブロックを選択し、マウスで右クリックすると、操作メニューが開きます。

ブロックを操作するメニュー

"ブロックを折りたたむ" と、コンパクトな表示に切り替わります。

ブロックを折りたたむ

外部入力

同じく操作メニューから「外部入力」を選ぶと、ブロックの形状が変わります。意味はかわっていません。形状だけが変わっています。

形状を外部入力とする

両方のブロックを何も「外部入力」とした例を示します。

形状を外部入力とする (2)

~ではない

~ではないブロック

「〜ではない」ブロックと組み合わせると、意味を反転させます。上の例は "Xが0ではない" となります。

true / false

true / falseブロックの利用例

Wagbyが提供する「関数」のいくつかは、戻り値がtrueまたはfalseを返します。これを判定ブロックと組み合わせるときに、trueブロックやfalseブロックを使うことができます。

null

Wagbyではnullは「変数」または「(項目の)値」が "未入力"(または"未設定")という特別な意味をもちます。

名前項目が未入力かどうかを判定する

関数を利用する

ISBLANK関数を使った場合、未入力だけでなく、空文字 ("") かどうかの判定もできます。文字列型の場合は ISBLANK 関数を利用する方がよいです。

ISBLANK関数を利用した例

同様に、リストボックスの入力判定はSELECTED関数が利用できます。

SELECTED関数を利用した例

このように、実際にはnullで判定するケースは多くありません。未入力の判定は次のように整理できます。

判定方法の早見表

判定方法
文字列 ISBLANK関数
日付/時刻/日付時刻 ISBLANK関数
数値 ISEMPTY関数
リストボックス/ラジオボタンが未入力かどうか ISEMPTY関数
リストボックス/ラジオボタンが"未選択"かどうか SELECTED関数
チェックボックスの選択されている数 CHECKED関数
チェックボックスに指定のID部が含まれているか CONTAINS関数