Bicep 演算子

この記事では、Bicep 演算子について説明します。 演算子は、値の計算、値の比較、または条件の評価に使用されます。 Bicep 演算子には、次の 6 つの種類があります。

演算子の優先順位と結合規則

次の演算子は、優先順位の降順で一覧表示されます (位置が高いほど優先順位が高くなります)。 同じレベルの演算子の優先順位は、同じです。

Symbol 演算の種類 結合規則
( ) [ ] . :: かっこ、配列インデクサー、プロパティ アクセサー、入れ子になったリソース アクセサー 左から右
! - 単項 右から左
% * / 乗法 左から右
+ - 加法 左から右
<= < > >= 関係 左から右
== != =~ !~ 等価比較 左から右
&& 論理積 左から右
|| 論理和 左から右
?? Coalesce 左から右
? : 条件式 (三項) 右から左

かっこ

式をかっこで囲むことで、既定の Bicep 演算子の優先順位をオーバーライドできます。 たとえば、x + y / z という式では、最初に除算、その次に加算が評価されます。 一方、(x + y) / z という式では、最初に加算、2 番目に除算が評価されます。

アクセサー

アクセサー演算子は、オブジェクトの入れ子になったリソースとプロパティにアクセスするために使用されます。

演算子 Name 説明
[] インデックス アクセサー オブジェクトの配列またはプロパティの要素にアクセスします。
. 関数アクセサー リソースで関数を呼び出します。
:: 入れ子になったリソース アクセサー 親リソースの外部から入れ子になったリソースにアクセスします。
. プロパティ アクセサー オブジェクトのプロパティにアクセスします。

比較

比較演算子を使用すると、値が比較され、true または false のいずれかが返されます。

演算子 Name 説明
>= [次の値以上] 1 番目の値が 2 番目の値以上かどうかを評価します。
> より大きい 1 番目の値が 2 番目の値より大きいかどうかを評価します。
<= [次の値以下] 1 番目の値が 2 番目の値以下かどうかを評価します。
< 次の値より小さい 1 番目の値が 2 番目の値より小さいかどうかを評価します。
== [等しい] 2 つの値が等いかどうかを評価します。
!= 等しくない 2 つの値が等しくないかどうかを評価します。
=~ 大文字と小文字の区別を無視し、等しい 大文字と小文字の区別を無視して、2 つの値が等しいかどうかを判定します。
!~ 大文字と小文字の区別を無視し、等しくない 大文字と小文字の区別を無視して、2 つの値が等しくないかどうかを判定します。

論理

論理演算子は、ブール値を評価するか、null 以外の値を返すか、または条件式を評価します。

演算子 Name 説明
&& And すべての値が true の場合は true を返します。
|| Or どちらかの値が true の場合は true を返します。
! Not ブール値を否定します。 1 つのオペランドを受け取ります。
?? Coalesce 最初の null 以外の値を返します。
? : 条件式 true または false の条件を評価し、値を返します。

Null 免除

null 許容演算子は、前の式に対するすべての null 許容警告を抑制します。

演算子 Name 説明
! Null 免除 前の式に対するすべての null 許容警告を抑制します。

数値

数値演算子では整数を使用して計算を行い、整数値を返します。

演算子 Name 説明
* Multiply 2 つの整数を乗算します。
/ 除算 整数を整数で除算します。
% 剰余 整数を整数で除算し、剰余を返します。
+ 追加 2 つの整数を加算します。
- Subtract 1 つの整数を別の整数から減算します。 2 つのオペランドを受け取ります。
- マイナス (単項) 整数を -1 で乗算します。 1 つのオペランドを受け取ります。

注意

減算とマイナスには同じ演算子を使用します。 減算では 2 つのオペランドを使用し、マイナスでは 1 つのオペランドを使用するため、機能は異なります。

Safe-dereference

safe-dereference 演算子は、プロパティまたは要素の存在や値を適切に知らずにプロパティまたは要素にアクセスしようとしたときに発生する可能性のあるエラーを防ぐのに役立ちます。

演算子 Name 説明
<base>.?<property>, <base>[?<index>] Safe-dereference そのオペランドが null 以外に評価される場合にのみ、オブジェクト メンバー アクセスまたは配列要素アクセス演算子をそのオペランドに適用します。それ以外の場合は、null を返します。

次のステップ