このページの内容

演算子と優先順位

ProcessMindの式では、算術計算、比較、論理演算にさまざまな演算子を使用できます。

演算子

算術演算子

記号 Name 説明 例 結果
+ 加算 2つの数値を加算するか、文字列を連結します 5 + 3 8
- 減算 1つ目の数値から2つ目の数値を引きます 10 - 4 6
* 乗算 2つの数値を掛けます 6 * 7 42
/ 除算 1つ目の数値を2つ目の数値で割ります 15 / 3 5

比較演算子

記号 Name 説明 例 結果
== 等しい 2つの値が等しいかどうかを確認します Status == "アクティブ" trueまたはfalse
!= 等しくない 2つの値が等しくないかどうかを確認します Status != "削除" 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 説明 例 結果
&& 論理積 両方の条件がtrueの場合にtrueを返します Amount > 100 && Status == "アクティブ" trueまたはfalse
and 論理積(キーワード) &&の別表記です。両方の条件がtrueの場合にtrueを返します Amount > 100 and Status == "アクティブ" trueまたはfalse
|| 論理和 少なくとも1つの条件がtrueの場合にtrueを返します Priority == "High" || Urgent == true trueまたはfalse
or 論理和(キーワード) ||の別表記です。少なくとも1つの条件がtrueの場合にtrueを返します Priority == "High" or Urgent == true trueまたはfalse
! 論理否定 ブール値を否定します !IsDeleted trueまたはfalse
not 論理否定(キーワード) !の別表記です。ブール値を否定します not IsDeleted trueまたはfalse

優先順位

優先順位の高い演算子から先に評価されます。括弧を使うと、既定の優先順位を変更できます。

優先順位 Category 演算子 Associativity
1 論理和 || , or 左から右
2 論理積 && , 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は欠損値を表します。nullを含む比較の結果はnullとなり、trueやfalseにはなりません。欠損値はisNull()関数で確認します:

    if(isNull(Department), "Unknown", Department)

関連トピック

プロセスをより良く設計し、つながりのあるアーキテクチャを構築して、管理を続けましょう。

クレジットカード不要、待ち時間なしですぐにご利用いただけます。組織の業務の進め方を、明確につながるプロセス設計として可視化します。

プロセスアーキテクチャを構築し、オーナーシップと統制を定め、あらゆる階層で役割と責任を明確にします。

無料トライアルを開始して、プロセスのガバナンス、管理、継続的な改善を支える信頼できる基盤を築きましょう。