演算子と優先順位
ProcessMindの式では、算術計算、比較、論理演算にさまざまな演算子を使用できます。
演算子
算術演算子
| 記号 | Name | 説明 | 例 | 結果 |
|---|---|---|---|---|
| + | 加算 | 2つの数値を加算するか、文字列を連結します。 | 5 + 3 | 8 |
| - | 減算 | 2番目の数値を1番目の数値から減算します。 | 10 - 4 | 6 |
| * | 乗算 | 2つの数値を乗算します。 | 6 * 7 | 42 |
| / | 除算 | 1番目の数値を2番目の数値で除算します。 | 15 / 3 | 5 |
比較演算子
| 記号 | Name | 説明 | 例 | 結果 |
|---|---|---|---|---|
| == | 等しい | 2つの値が等しいかどうかを確認します。 | Status == "Active" | trueまたはfalse |
| != | 等しくない | 2つの値が等しくないかどうかを確認します。 | Status != "Deleted" | trueまたはfalse |
| < | より小さい | 1番目の値が2番目の値より小さいかどうかを確認します。 | Amount < 100 | trueまたはfalse |
| > | より大きい | 1番目の値が2番目の値より大きいかどうかを確認します。 | Amount > 1000 | trueまたはfalse |
| <= | 以下 | 1番目の値が2番目の値以下かどうかを確認します。 | Count <= 10 | trueまたはfalse |
| >= | 以上 | 1番目の値が2番目の値以上かどうかを確認します。 | Score >= 80 | trueまたはfalse |
| in | リスト内 | 値が値のリストに含まれているかどうかを確認します。 | Status in ["A", "B", "C"] | trueまたはfalse |
論理演算子
| 記号 | Name | 説明 | 例 | 結果 |
|---|---|---|---|---|
| && | 論理AND | 両方の条件がtrueの場合にtrueを返します。 | Amount > 100 && Status == "Active" | trueまたはfalse |
| and | 論理AND(キーワード) | &&の別名です。両方の条件がtrueの場合にtrueを返します。 | Amount > 100 and Status == "Active" | trueまたはfalse |
| || | 論理OR | 少なくとも1つの条件がtrueの場合にtrueを返します。 | Priority == "High" || Urgent == true | trueまたはfalse |
| or | 論理OR(キーワード) | ||の別名です。少なくとも1つの条件がtrueの場合にtrueを返します。 | Priority == "High" or Urgent == true | trueまたはfalse |
| ! | 論理NOT | ブール値を否定します。 | !IsDeleted | trueまたはfalse |
| not | 論理NOT(キーワード) | !の別名です。ブール値を否定します。 | not IsDeleted | trueまたはfalse |
優先順位
優先順位の高い演算子から先に評価されます。括弧を使うと、既定の優先順位を変更できます。
| 優先順位 | Category | 演算子 | Associativity |
|---|---|---|---|
| 1 | 論理OR | || , or | 左から右 |
| 2 | 論理AND | && , and | 左から右 |
| 3 | 等価 | == , != | 左から右 |
| 4 | 比較 | < , > , <= , >= , in | 左から右 |
| 5 | 加算・減算 | + , - | 左から右 |
| 6 | 乗算・除算 | * , / | 左から右 |
| 7 | 単項 | ! , not , - | 右から左 |
| 8 | 関数呼び出し | () | 左から右 |
| 9 | 括弧 | ( ) | — |
演算子に関する補足
-
文字列の連結と
+:+演算子は、どちらか一方のオペランドが文字列の場合、文字列も連結します。"Hello" + " " + "World" → "Hello World" -
in演算子は、複数のOR比較と同じ意味です。Status in ["Pending", "Active", "Review"] // is the same as: Status == "Pending" || Status == "Active" || Status == "Review"
例
-
条件の組み合わせ:
// Both conditions must be true Amount > 1000 && Region == "Europe" // At least one condition must be true Priority == "High" or Escalated == true // Negation not IsArchived
三項演算子
三項演算子を使うと、単純なif/elseロジックを短く記述できます。
-
構文:
condition ? valueIfTrue : valueIfFalse -
例:
Amount > 1000 ? "High" : "Low" -
同等の記述:
if(Amount > 1000, "High", "Low")
優先順位の例
-
括弧なし:
2 + 3 * 4 → 14 (multiplication first) 10 > 5 && 3 < 7 → true (comparisons before AND) -
括弧あり:
(2 + 3) * 4 → 20 (addition first)
特殊な構文
-
引用符付き識別子:列名に空白や特殊文字が含まれる場合は、バッククォートを使用します。
`Order Amount` * 0.1 `Customer Name` `2024 Revenue` -
文字列のエスケープ:文字列内の特殊文字をエスケープするには、バックスラッシュを使用します。
"Line 1\nLine 2" // newline "Tab\there" // tab "Say \"Hello\"" // double quote "Path\\to\\file" // backslash -
null値:欠損値を表すにはnullを使用します。
if(Department == null, "Unknown", Department)またはisNull()関数を使用します。
if(isNull(Department), "Unknown", Department)
関連トピック
- 式の概要:すべての式関数。