![]() |
BBv2で使用される条件式には以下のようなものがある。
条件式 | 評価値 |
---|---|
a | aに空でない文字列が含まれていれば真 |
a = b | aとbの要素がすべて同じ場合に真 |
a != b | aとbの要素に同じでないものが含まれる場合に真 |
a < b | 辞書順でaがbより小さい場合に真 |
a <= b | 辞書順でaがb以下の場合に真 |
a > b | 辞書順でaがbより大きい場合に真 |
a >= b | 辞書順でaがb以上の場合に真 |
a in b | aの要素が全てbに含まれる場合に真 |
! cond | condが偽の場合に真 |
a && b | aが真かつbが真の場合に真 |
a || b | aが真またはbが真の場合に真 |
( cond ) | condが真の場合に真 |
ここで、aとbは文字列のリスト、変数、ルールの戻り値のいずれかであり、condは条件式である。
なお、「=」、「!=」、「<」、「<=」、「>」、「>=」の6つの比較演算において、一方のリストのサイズが他方よりも短い場合、短いリストの後方に空文字列の要素続いているかのように振舞う。
演算子の優先順位は以下のようになっている。上の方ほど優先順位は高い。
switch文や組み込みルールGLOBなどで行われるパターンマッチングには次に示すパターンの組み合わせが使われる。
パターン | 意味 |
---|---|
? | 任意の1文字 |
* | サイズ0以上の任意の文字列 |
[文字クラス] | 文字クラスにマッチする1文字 |
[^文字クラス] | 文字クラスにマッチしない1文字 |
\c | 文字c |
ここで文字クラスは以下の組み合わせである。
パターン | 意味 |
---|---|
c | 文字c |
a-b | 文字aから文字bまでの範囲 |