Switchノードを使う(その2)
前回 に引き続き Switch ノードを使ってみます。 入力値の型による出力ポートの振り分け 最初のサンプルは「 flows > node-red > function > switch > 04 - Select output port by type 」です。 ノードのプロパティを見ると「 is of type 」を使って「 文字列 」と「 数値 」で条件分岐しています。これで入力値が数値の128と文字列の"128"で出力ポートの振り分けを行っています。JavaScriptで言うところの typeof ですかね。 JSONata式のルールによる振り分け 次のサンプルは「 flows > node-red > function > switch > 05 - Use JSONata for switch rule 」です。 プロパティを確認すると、JSONata式としてpayloadを2で割った余りが0か1かで条件分岐をしています。要は偶数と奇数で分岐しているということですね。 JSONata式は以前見てきました が、いろいろなクエリが書けるので、switchノードだけでかなり複雑な判定ができそうです。 JSONata式の結果による振り分け 一つ前のサンプルと比較すると挙動がわかりやすいのが次のサンプル「 flows > node-red > function > switch > 06 - Use JSONata for switch value 」です。違いはSwitchノードのプロパティ側にJSONata式を指定してtrue/falseで条件分岐をしている点です。今回の場合、サンプル05と06で結果に違いはありませんが、柔軟に条件分岐の設定ができることを意味しています。 とりあえずまとめ Switchノードはあと少しです。