Bicep-operatorer
I den här artikeln beskrivs Bicep-operatorerna. Operatorer används för att beräkna värden, jämföra värden eller utvärdera villkor. Det finns sex typer av Bicep-operatorer:
Operatorprioritet och associativitet
Operatorerna nedan visas i fallande prioritetsordning (desto högre position desto högre prioritet). Operatorer som anges på samma nivå har samma prioritet.
Symbol | Typ av åtgärd | Associativitet |
---|---|---|
( ) [ ] . :: |
Parenteser, matrisindexerare, egenskapsåtkomster och kapslad resursåtkomst | Vänster till höger |
! - |
Unär | Höger till vänster |
% * / |
Multiplicative | Vänster till höger |
+ - |
Tillsats | Vänster till höger |
<= < > >= |
Relation | Vänster till höger |
== != =~ !~ |
Tillämplig | Vänster till höger |
&& |
Logiskt OCH | Vänster till höger |
|| |
Logiskt ELLER | Vänster till höger |
?? |
Coalesce | Vänster till höger |
? : |
Villkorsuttryck (ternary) | Höger till vänster |
Parenteser
Om du omger ett uttryck mellan parenteser kan du åsidosätta standardprioritet för Bicep-operatorn. Uttrycket x + y / z
utvärderar till exempel divisionen först och sedan tillägget. Uttrycket (x + y) / z
utvärderar dock tillägget först och division två.
Accessor
Accessoroperatorerna används för att komma åt kapslade resurser och egenskaper för objekt.
Operator | Name | beskrivning |
---|---|---|
[] |
Indexåtkomst | Få åtkomst till ett element i en matris eller egenskap i ett objekt. |
. |
Funktionsåtkomst | Anropa en funktion på en resurs. |
:: |
Kapslad resursåtkomstor | Få åtkomst till en kapslad resurs utanför den överordnade resursen. |
. |
Egenskapsåtkomst | Åtkomstegenskaper för ett objekt. |
Jämförelse
Jämförelseoperatorerna jämför värden och returnerar antingen true
eller false
.
Operator | Name | beskrivning |
---|---|---|
>= |
Större än eller lika med | Utvärderar om det första värdet är större än eller lika med det andra värdet. |
> |
Större än | Utvärderar om det första värdet är större än det andra värdet. |
<= |
Mindre än eller lika med | Utvärderar om det första värdet är mindre än eller lika med det andra värdet. |
< |
Mindre än | Utvärderar om det första värdet är mindre än det andra värdet. |
== |
Motsvarar | Utvärderar om två värden är lika med. |
!= |
Inte lika med | Utvärderar om två värden inte är lika med. |
=~ |
Lika skiftlägesokänsligt | Ignorerar skiftläge för att avgöra om två värden är lika med. |
!~ |
Inte lika skiftlägesokänsligt | Ignorerar skiftläge för att avgöra om två värden inte är lika med. |
Logiskt
De logiska operatorerna utvärderar booleska värden, returnerar värden som inte är null eller utvärderar ett villkorsuttryck.
Operator | Name | beskrivning |
---|---|---|
&& |
och | Returnerar true om alla värden är sanna. |
|| |
eller | Returnerar true om något av värdena är sant. |
! |
Not | Negerar ett booleskt värde. Tar en operand. |
?? |
Sammansmälta | Returnerar det första värdet som inte är null. |
? : |
Villkorsuttryck | Utvärderar ett villkor för sant eller falskt och returnerar ett värde. |
Null-förlåtande
Operatorn null-forgiving undertrycker alla nullbara varningar för föregående uttryck.
Operator | Name | beskrivning |
---|---|---|
! |
Null-förlåtande | Undertrycker alla nullbara varningar för föregående uttryck. |
Numerisk
De numeriska operatorerna använder heltal för att göra beräkningar och returnera heltalsvärden.
Operator | Name | beskrivning |
---|---|---|
* |
Multiplicera | Multiplicerar två heltal. |
/ |
Dela | Delar upp ett heltal med ett heltal. |
% |
Modulo | Delar upp ett heltal med ett heltal och returnerar resten. |
+ |
Lägg till | Lägger till två heltal. |
- |
Subtrahera | Subtraherar ett heltal från ett annat heltal. Tar två operander. |
- |
Minus (unary) | Multiplicerar ett heltal -1 med . Tar en operand. |
Kommentar
Subtrahera och minus använd samma operator. Funktionen skiljer sig eftersom subtrahera använder två operander och minus använder en operand.
Safe-dereference
Operatorn safe-dereference hjälper till att förhindra fel som kan uppstå när du försöker komma åt egenskaper eller element utan att känna till deras existens eller värde.
Operator | Name | beskrivning |
---|---|---|
<base>.?<property> , <base>[?<index>] |
Safe-dereference | Tillämpar en objektmedlemsåtkomst eller en åtkomståtgärd för matriselement på dess operand endast om operanden utvärderas till icke-null, annars returnerar null den . |
Sprida
Spridningsoperatorn används för att expandera en iterbar matris eller ett objekt till enskilda element. Med spridningsoperatorn kan du enkelt ändra matriser eller objekt genom att sprida deras element eller egenskaper till nya matriser eller objekt.
Operator | Name | beskrivning |
---|---|---|
... |
Sprida | Gör det möjligt att utöka iterbara matriser och objekt till enskilda element eller egenskaper. |
Nästa steg
- Information om hur du skapar en Bicep-fil finns i Snabbstart: Skapa Bicep-filer med Visual Studio Code.
- Information om hur du löser Bicep-typfel finns i Alla funktioner för Bicep.
- Om du vill jämföra syntax för Bicep och JSON läser du Jämföra JSON och Bicep för mallar.
- Exempel på Bicep-funktioner finns i Bicep-funktioner.