Operadores lógicos bíceps
Os operadores lógicos avaliam valores booleanos, retornam valores não nulos ou avaliam uma expressão condicional. Para executar os exemplos, use a CLI do Azure ou o Azure PowerShell para implantar um arquivo Bicep.
Operador | Nome |
---|---|
&& |
And |
|| |
Or |
! |
Not |
?? |
Coalesce |
? : |
Expressão condicional |
E &&
operand1 && operand2
Determina se ambos os valores são verdadeiros.
Operandos
Operando | Tipo | Descrição |
---|---|---|
operand1 |
boolean | O primeiro valor a ser verificado se verdadeiro. |
operand2 |
boolean | O segundo valor para verificar se verdadeiro. |
Mais operandos | boolean | Mais operandos podem ser incluídos. |
Valor devolvido
True
quando ambos os valores são verdadeiros, caso contrário false
, é retornado.
Exemplo
Avalia um conjunto de valores de parâmetros e um conjunto de expressões.
param operand1 bool = true
param operand2 bool = true
output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2
Saída do exemplo:
Nome | Tipo | valor |
---|---|---|
andResultParm |
boolean | verdadeiro |
andResultExp |
boolean | verdadeiro |
Para evitar A propriedade de expressão de linguagem 'foo' não existe exceção com objetos Bicep, você pode usar o operador lógico And como mostrado no exemplo a seguir:
param objectToTest object = {
one: 1
two: 2
three: 3
}
output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4
Ou ||
operand1 || operand2
Determina se qualquer um dos valores é true.
Operandos
Operando | Tipo | Descrição |
---|---|---|
operand1 |
boolean | O primeiro valor a ser verificado se verdadeiro. |
operand2 |
boolean | O segundo valor para verificar se verdadeiro. |
Mais operandos | boolean | Mais operandos podem ser incluídos. |
Valor devolvido
True
quando qualquer um dos valores é true, caso contrário false
é retornado.
Exemplo
Avalia um conjunto de valores de parâmetros e um conjunto de expressões.
param operand1 bool = true
param operand2 bool = false
output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2
Saída do exemplo:
Nome | Tipo | valor |
---|---|---|
orResultParm |
boolean | verdadeiro |
orResultExp |
boolean | verdadeiro |
Para evitar que o índice de matriz de propriedade de expressão de linguagem 'x' esteja fora dos limites , você pode usar o operador lógico Or conforme mostrado no exemplo a seguir:
param emptyArray array = []
param numberArray array = [1, 2, 3]
output foo bool = empty(emptyArray) || emptyArray[0] == 'bar'
output bar bool = length(numberArray) >= 3 || numberArray[3] == 4
Não!
!boolValue
Nega um valor booleano.
Operando
Operando | Tipo | Descrição |
---|---|---|
boolValue |
boolean | Valor booleano que é negado. |
Valor devolvido
Nega o valor inicial e retorna um booleano. Se o valor inicial for true
, então false
será retornado.
Exemplo
O not
operador nega um valor. Os valores podem ser colocados entre parênteses.
param initTrue bool = true
param initFalse bool = false
output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse
Saída do exemplo:
Nome | Tipo | valor |
---|---|---|
startedTrue |
boolean | false |
startedFalse |
boolean | verdadeiro |
Coalesce ??
operand1 ?? operand2
Retorna o primeiro valor não nulo de operandos.
Operandos
Operando | Tipo | Description |
---|---|---|
operand1 |
string, inteiro, booleano, objeto, array | Valor a testar para null . |
operand2 |
string, inteiro, booleano, objeto, array | Valor a testar para null . |
Mais operandos | string, inteiro, booleano, objeto, array | Valor a testar para null . |
Valor devolvido
Retorna o primeiro valor não nulo. Cadeias de caracteres vazias, matrizes vazias e objetos vazios não null
são e um <valor vazio> é retornado.
Exemplo
As instruções de saída retornam os valores não nulos. O tipo de saída deve corresponder ao tipo na comparação ou um erro é gerado.
param myObject object = {
isnull1: null
isnull2: null
string: 'demoString'
emptystr: ''
integer: 10
}
output nonNullStr string = myObject.isnull1 ?? myObject.string ?? myObject.isnull2
output nonNullInt int = myObject.isnull1 ?? myObject.integer ?? myObject.isnull2
output nonNullEmpty string = myObject.isnull1 ?? myObject.emptystr ?? myObject.string ?? myObject.isnull2
Saída do exemplo:
Nome | Tipo | valor |
---|---|---|
nonNullStr |
string | demoString |
nonNullInt |
número inteiro | 10 |
nonNullEmpty |
string | <empty> |
Expressão condicional ? :
condition ? true-value : false-value
Avalia uma condição e retorna um valor se a condição é verdadeira ou falsa.
Operandos
Operando | Tipo | Descrição |
---|---|---|
condition |
boolean | Condição para avaliar como verdadeiro ou falso. |
true-value |
string, inteiro, booleano, objeto, array | Valor quando a condição for verdadeira. |
false-value |
string, inteiro, booleano, objeto, array | Valor quando a condição é false. |
Exemplo
Este exemplo avalia a inicial de um parâmetro e retorna um valor se a condição é true ou false.
param initValue bool = true
output outValue string = initValue ? 'true value' : 'false value'
Saída do exemplo:
Nome | Tipo | valor |
---|---|---|
outValue |
string | valor real |
Próximos passos
- Para criar um arquivo Bicep, consulte Guia de início rápido: criar arquivos Bicep com o Visual Studio Code.
- Para obter informações sobre como resolver erros de tipo Bicep, consulte Qualquer função para Bicep.
- Para comparar a sintaxe para Bicep e JSON, consulte Comparando JSON e Bicep para modelos.
- Para obter exemplos de funções do bíceps, consulte Funções do bíceps.