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
- Para criar um arquivo Bicep, consulte Início rápido: criar arquivos Bicep com o Visual Studio Code.
- Para obter informações sobre como resolver erros de tipo Bicep, confira Qualquer função para Bicep.
- Para comparar a sintaxe para Bicep e JSON, confira Comparar JSON e Bicep para modelos.
- Para ver exemplos de funções Bicep, consulte Funções Bicep.