多分岐処理の紹介

何かの値によって処理を分岐したいことってありますよね。例えば、レコードごとに処理を行うときにレコードのフィールドの値によって処理を分けたい場合などです。このようなときに便利なコンポーネントとしてSwitchコンポーネントが追加されました。

では今までのフローとの違いを見てみましょう。

もっとも簡単に思いつくのがBranchStartコンポーネントをつなげるフローです。

switch_branch.png


次に思いつくのがChoiceコンポーネントを使うフローです。

switch_choice.png


最後に、今回追加されたSwitchコンポーネントを使ったフローです。

switch_switch.png

BranchStartのフローは明らかにごちゃごちゃしていますね。ChoiceとSwitchのフローはそれほど見た目は変わらないですが、良く見るとSwitchの方には分岐のところに具体的な値が表示されているのでちょっと分かりやすいですね。

もう少し詳しく見てみると、Choiceの場合は直前のマッパーで値を判定して番号に変換する処理が必要になります。Choiceの直前のマッパーの中は次のような感じになります。値を変換するためにTable関数を使用しています。

switch_choice_mapper.png


これに対して、Switchの場合は変換処理が必要ありません。Switchの直前のマッパーの中はこのようになります。

switch_switch_mapper.png

こちらの方が断然シンプルですね。では、判定する値はどこで設定しているのかというと、Switchコンポーネントのプロパティで設定します。

switch_switch_tabproperty.png

直前のマッパーで差し込まれた値が、ここで設定した値のどの値かを判定して分岐します。コンポーネントの名前の通りで、プログラム言語のSwitch文と同じ感じで値の判定処理を直感的に書けることが分かります。

もしも判定する値が単純でない場合には、正規表現を使用できるSwitchRegexpコンポーネントも追加されていますのでこちらもご利用ください。







この記事は役に立ちましたか?
3人中1人がこの記事が役に立ったと言っています

他のキーワードで検索する