Operadores lógicos Bicep

Os operadores lógicos avaliam valores boolianos, retornam valores não nulos ou avaliam uma expressão condicional. Para executar os exemplos, use o CLI do Azure ou o Azure PowerShell para implantar um arquivo Bicep.

Operador Nome
&& And
|| Or
! Not
?? Coalesce
? : Expressões condicionais

And &&

operand1 && operand2

Determina se ambos os valores são verdadeiros.

Operandos

Operando Type Descrição
operand1 booleano O primeiro valor a ser verificado se é verdadeiro.
operand2 booleano O segundo valor a ser verificado se é verdadeiro.
Mais operandos booleano Mais operandos podem ser incluídos.

Retornar valor

True quando ambos os valores são verdadeiros, caso contrário retorna false.

Exemplo

Avalia um conjunto de valores de parâmetro 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 booleano true
andResultExp booleano true

Para evitar a exceção A propriedade de expressão de linguagem 'foo' não existe com objetos Bicep, você pode usar o operador lógico And, conforme mostrado no exemplo abaixo:

param objectToTest object = {
  one: 1
  two: 2
  three: 3
}

output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4

Or ||

operand1 || operand2

Determina se o valor é verdadeiro.

Operandos

Operando Type Descrição
operand1 booleano O primeiro valor a ser verificado se é verdadeiro.
operand2 booleano O segundo valor a ser verificado se é verdadeiro.
Mais operandos booleano Mais operandos podem ser incluídos.

Retornar valor

True quando um dos valores é verdadeiro, caso contrário, retorna false.

Exemplo

Avalia um conjunto de valores de parâmetro 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 booleano true
orResultExp booleano true

Para evitar a exceção O índice de matriz de propriedades da expressão de linguagem 'x' está fora dos limites, você pode usar o operador lógico Or, conforme mostrado no exemplo abaixo:

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

Not !

!boolValue

Nega um valor booliano.

Operando

Operando Type Descrição
boolValue booleano Valor booliano que é negado.

Retornar valor

Nega o valor inicial e retorna um booliano. Se o valor inicial é true, retorna false.

Exemplo

O not operador nega um valor. Os valores podem estar 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 booleano false
startedFalse booleano true

Coalesce ??

operand1 ?? operand2

Retorna o primeiro valor não nulo dos operandos.

Operandos

Operando Type Descrição
operand1 cadeia de caracteres, inteiro, booliano, objeto, matriz O valor a ser testado para null.
operand2 cadeia de caracteres, inteiro, booliano, objeto, matriz O valor a ser testado para null.
Mais operandos cadeia de caracteres, inteiro, booliano, objeto, matriz O valor a ser testado para null.

Retornar valor

Retorna o primeiro valor não nulo. Cadeias de caracteres vazias, matrizes vazias, objetos vazios não são null e retorna um valor <vazio>.

Exemplo

As instruções de saída retornam valores não nulos. O tipo de saída precisa ser igual ao tipo na comparação ou um erro será 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 INT 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 Type Descrição
condition booleano Condição a ser avaliada como verdadeira ou falsa.
true-value cadeia de caracteres, inteiro, booliano, objeto, matriz Valor quando a condição é verdadeira.
false-value cadeia de caracteres, inteiro, booliano, objeto, matriz Valor quando a condição é falsa.

Exemplo

Este exemplo avalia a inicial de um parâmetro e retorna um valor se a condição é verdadeira ou falsa.

param initValue bool = true

output outValue string = initValue ? 'true value' : 'false value'

Saída do exemplo:

Nome Tipo Valor
outValue string true value

Próximas etapas