値入力欄の書き方
このページでは、ワークフローの値入力欄で使う式の基本構文・演算子・型の扱いについて説明します。
{{ ... }} 記法の使い分けから、条件式の型判定・よくある間違いまでをまとめたリファレンスです。
フィルタを使った値の加工については フィルタ一覧 を参照してください。
基本的な表記
値入力欄で {{ ... }} で囲んだ内容は式として評価されます。
| 入力例 | 評価結果 |
|---|---|
ok | 固定文字列 ok |
{{ user_name }} | 変数 user_name の値 |
{{ count + 1 }} | count + 1 の計算結果 |
{{ status == "ok" }} | true または false |
注記
値を入力するときは、まず「固定値をそのまま入れたいのか」「式の評価結果を使いたいのか」を判断します。
- 固定値:そのまま入力する。
- 変数参照、計算、比較、加工をしたい:
{{ ... }}を使う。 - 条件式: true / false になる形で書く。
- 変数設定:キー名にも
{{ ... }}を使う。
固定値を設定したい場合は
{{ }} で囲まないでください。{{ }}で囲まない場合は、入力した値がそのまま扱われます。- デフォルト値など決まった値をそのまま設定する場合に利用します。
変数設定 ではキ ー名にも
{{ ... }} を使えます。キー名が result_{{ index }}の場合、index が 2 のとき、実際のキー名は result_2 になります。
例)以下の変数設定で index = 2、score = 80 の場合、result_2 = 90 が保存されます。
- キー名:
result_{{ index }} - 値:
{{ score + 10 }}
キー名を動的に変えることで、繰り返し処理や連番付きの保存に対応しやすくなります。
演算子
比較演算子
| 演算子 | 例 |
|---|---|
== | {{ status == "ok" }} |
!= | {{ count != 0 }} |
> / < / >= / <= | {{ score >= 80 }} |
論理演算子
| 演算子 | 例 |
|---|---|
&& | {{ score >= 80 && isActive }} |
|| | {{ status == "ok" || status == "pending" }} |
! | {{ !isDeleted }} |
含有判定
| 演算子 | 例 |
|---|---|
in | {{ item in items }} |
条件式の型判定
条件式の評価結果は型によって次のように扱われます。
| 型 | true になる値 | false になる値 |
|---|---|---|
bool | true | false |
string | "true", "1" | "false", "0" |
int, double | 0 以外 | 0 |
| それ以外 | - | 実行時エラー |
判定例
| 式 | 結果 |
|---|---|
{{ true }} | true |
{{ "1" }}, {{ "true" }} | true |
{{ 0 }}, {{ "false" }} | false |
{{ -1 }} | true |
よくある間違い
| NG 例 | 問題 | 修正例 |
|---|---|---|
value > 0 | {{ }} がないため式として評価されません | {{ value > 0 }} |
{{ ok }} | 固定文字列のつもりが変数参照になります | ok |
{{ count > "10" }} | 数値と文字列の比較で意図しない結果になります | {{ count > 10 }} |
予約語の一覧
Agentiqs で使用している予約語は、テンプレートや項目の処理を制御するために使用されるため、
ユーザー定義の項目名・変数名・置換キー名などには使用できません。
予約語と同じ名称を使用した場合
テンプレートの解析エラーが発生する、または意図した値として認識されない可能性があります。
予約語の一覧
break
capture
case
continue
do
else
end
false
for
func
if
import
in
null
readonly
ret
tablerow
this
true
when
while
with
wrap