関数での条件式
レイヤーは多数のマッピングのリンクを見やすくするために使いますが、ある特定の条件のときだけマッピングするように定義することもできます。条件を定義したレイヤーを「条件付きレイヤー」といいます。条件付きレイヤーとしてレイヤーを使う場合、レイヤーの追加時に条件式を指定します。条件を設定したレイヤーは、関数ウィンドウ下部のレイヤー名タブの色が変わります。
マッピングと条件の評価の順序
複数のレイヤーを追加して条件なしレイヤーと条件付きレイヤーが混在する場合、レイヤーの配置に関わらず、必ず先に条件なしレイヤーのマッピング行われます。複数の条件なしレイヤーは1つのレイヤーとして認識されてマッピングが行われます。その次に、条件付きレイヤーのマッピングがレイヤータブの左から順に行われます。複数の条件付きレイヤーで同じフィールドへのマッピングがある場合、条件が真になったときのマッピングで上書きされていき、一番最後のマッピングが有効になります。条件付きレイヤーのマッピングが順次行われている途中でエラーが発生した場合、それまでのマッピングは有効です。
条件式
条件式を使って、入力や関数パラメーター、リンク数を判定することができます。
比較演算子、値
比較演算子としては以下のものが使用できます。右辺には文字列、数値、変数のいずれかが指定できます。
| = | 等価 |
|---|---|
| != | 等価ではない |
| > | より大きい |
| < | より小さい |
| >= | 以上 |
| <= | 以下 |
| ~= | を含む (※右辺が文字列の場合のみ) |
- 文字列の大小比較は辞書順で比較します。
- 「~=」の右辺に文字列以外の型を指定した場合は結果は常にFalseになります。
条件式の結果
結果はtrueまたはfalseのどちらかになります。条件式に誤りがある場合はエラーとなります。また、式でなく「True」「False」の文字列を直接記述して分岐することもできます。
AND, ORの使用
条件式でのAND、ORは、「&&」「||」を使用することによって条件式を連結することができます。
入力の判定
入力や関数パラメーター、リンク数を判定する場合、プレフィクスに対して入力値には入力の順番、関数パラメーターにはパラメーター名をつけることで参照できます。 「$」または「.」を入力した時にはコード補完のリストが表示されその中から条件式を選択することができます。
| 入力の種類 | プレフィクス |
|---|---|
| 入力値 | $input.[N] |
| 関数パラメーター | $param.[関数パラメーター名] |
| 入力情報 | $function.LinkCount |
フィールド名による指定の例
$input.1 < 3 $param.filename = "aaa.txt"