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 Type 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 Type 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 Type 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 Type 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 Type 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