概要
条件分岐の評価に用いる数式です。
解説
基本的には、model-switch で定義したスイッチ名を書けばその設定値を参照します。高度な条件分岐を行いたい場合には、複数のスイッチや定数を用いて四則演算や比較などを行うこともできます。演算はすべて整数で行われ、定数は整数のみ使用できます。
演算子
数式には以下の演算子を使用することができます。同じ優先順位の二項演算子は左から右へ結合されます。動作は基本的に C 言語と同じです。
順位 | 記号 | 名称 | 意味 |
1 | ( ) | 括弧 | 括弧内の演算子を優先的して評価する。 |
2 | + | 単項プラス | 右辺をそのまま返す。 |
- | 単項マイナス | 右辺の符号を反転する。 | |
! | 否定 | 右辺が 0 なら 1、それ以外は 0 を返す。 | |
~ | 1 の補数 | 各ビットを反転した値を返す。 | |
3 | * | 乗算 | 左辺と右辺の積を返す。 |
/ | 除算 | 左辺を右辺で割った値を返す。右辺が 0 の場合は 0 を返す。 | |
% | 剰余 | 左辺を右辺で割った余りを返す。右辺が 0 の場合は 0 を返す。 | |
4 | + | 加算 | 左辺と右辺の和を返す。 |
- | 減算 | 左辺から右辺を引いたを返す。 | |
5 | << | 左シフト | 左辺を右辺ビット左へシフトする。 |
>> | 右シフト | 左辺を右辺ビット右へシフトする。 | |
6 | < | 小なり | 左辺が右辺より小さければ 1、それ以外は 0 を返す。 |
> | 大なり | 左辺が右辺より大きければ 1、それ以外は 0 を返す。 | |
<= | 以下 | 左辺が右辺以下ならば 1、それ以外は 0 を返す。 | |
>= | 以上 | 左辺が右辺以上ならば 1、それ以外は 0 を返す。 | |
7 | == | 等値 | 左辺と右辺が等しければ 1、それ以外は 0 を返す。 |
!= | 不等値 | 左辺と右辺が異なれば 1、それ以外は 0 を返す。 | |
8 | & | ビット AND | 左辺と右辺のビットごとの積を返す。 |
9 | ^ | ビット XOR | 左辺と右辺のビットごとの排他和を返す。 |
10 | | | ビット OR | 左辺と右辺のビットごとの和を返す。 |
11 | && | 論理 AND | 左辺と右辺がいずれも 1 なら 1、それ以外は 0 を返す。 |
12 | || | 論理 OR | 左辺と右辺がいずれも 0 なら 0、それ以外は 1 を返す。 |
13 | ? : | 条件 | 第 1 項が 0 以外ならば第 2 項、0 ならば第 3 項を返す。 |