Operadores de comparação bicep

Os operadores de comparação comparam valores e devolvem ou truefalse. Para executar os exemplos, utilize a CLI do Azure ou Azure PowerShell para implementar um ficheiro Bicep.

Operador Name
>= Maior ou igual
> Maior que
<= Menor ou igual
< Menor que
== É igual a
!= Diferente
=~ Não sensível a maiúsculas e minúsculas
!~ Não é sensível a maiúsculas e minúsculas

Maior ou igual >=

operand1 >= operand2

Avalia se o primeiro valor é maior ou igual ao segundo valor.

Operandos

Operando Tipo Descrição
operand1 número inteiro, cadeia Primeiro valor na comparação.
operand2 número inteiro, cadeia Segundo valor na comparação.

Valor devolvido

Se o primeiro valor for maior ou igual ao segundo valor, true será devolvido. Caso contrário, false é devolvido.

Exemplo

É comparado um par de números inteiros e um par de cadeias.

param firstInt int = 10
param secondInt int = 5

param firstString string = 'A'
param secondString string = 'A'

output intGtE bool = firstInt >= secondInt
output stringGtE bool = firstString >= secondString

Saída do exemplo:

Nome Tipo Valor
intGtE boolean true
stringGtE boolean true

Maior do que >

operand1 > operand2

Avalia se o primeiro valor é maior que o segundo valor.

Operandos

Operando Tipo Descrição
operand1 número inteiro, cadeia Primeiro valor na comparação.
operand2 número inteiro, cadeia Segundo valor na comparação.

Valor devolvido

Se o primeiro valor for superior ao segundo valor, true será devolvido. Caso contrário, false é devolvido.

Exemplo

É comparado um par de números inteiros e um par de cadeias.

param firstInt int = 10
param secondInt int = 5

param firstString string = 'bend'
param secondString string = 'band'

output intGt bool = firstInt > secondInt
output stringGt bool = firstString > secondString

Saída do exemplo:

O e na curva torna a primeira cadeia maior.

Nome Tipo Valor
intGt boolean true
stringGt boolean true

Menor ou igual <=

operand1 <= operand2

Avalia se o primeiro valor é menor ou igual ao segundo valor.

Operandos

Operando Tipo Descrição
operand1 número inteiro, cadeia Primeiro valor na comparação.
operand2 número inteiro, cadeia Segundo valor na comparação.

Valor devolvido

Se o primeiro valor for menor ou igual ao segundo valor, true será devolvido. Caso contrário, false é devolvido.

Exemplo

É comparado um par de números inteiros e um par de cadeias.

param firstInt int = 5
param secondInt int = 10

param firstString string = 'demo'
param secondString string = 'demo'

output intLtE bool = firstInt <= secondInt
output stringLtE bool = firstString <= secondString

Saída do exemplo:

Nome Tipo Valor
intLtE boolean true
stringLtE boolean true

Menor do que <

operand1 < operand2

Avalia se o primeiro valor é inferior ao segundo valor.

Operandos

Operando Tipo Descrição
operand1 número inteiro, cadeia Primeiro valor na comparação.
operand2 número inteiro, cadeia Segundo valor na comparação.

Valor devolvido

Se o primeiro valor for inferior ao segundo valor, true será devolvido. Caso contrário, false é devolvido.

Exemplo

É comparado um par de números inteiros e um par de cadeias.

param firstInt int = 5
param secondInt int = 10

param firstString string = 'demo'
param secondString string = 'Demo'

output intLt bool = firstInt < secondInt
output stringLt bool = firstString < secondString

Saída do exemplo:

A cadeia deve-se true ao facto de as letras minúsculas serem inferiores às letras maiúsculas.

Nome Tipo Valor
intLt boolean true
stringLt boolean true

É igual a ==

operand1 == operand2

Avalia se os valores são iguais.

Operandos

Operando Tipo Descrição
operand1 cadeia, número inteiro, booleano, matriz, objeto Primeiro valor na comparação.
operand2 cadeia, número inteiro, booleano, matriz, objeto Segundo valor na comparação.

Valor devolvido

Se os operandos forem iguais, true é devolvido. Se os operandos forem diferentes, false é devolvido.

Exemplo

São comparados pares de números inteiros, cadeias e booleanos.

param firstInt int = 5
param secondInt int = 5

param firstString string = 'demo'
param secondString string = 'demo'

param firstBool bool = true
param secondBool bool = true

output intEqual bool = firstInt == secondInt
output stringEqual bool = firstString == secondString
output boolEqual bool = firstBool == secondBool

Saída do exemplo:

Nome Tipo Valor
intEqual boolean true
stringEqual boolean true
boolEqual boolean true

Ao comparar matrizes, as duas matrizes têm de ter os mesmos elementos e ordem. As matrizes não precisam de ser atribuídas entre si.

var array1 = [
  1
  2
  3
]

var array2 = [
  1
  2
  3
]

var array3 = array2

var array4 = [
  3
  2
  1
]

output sameElements bool = array1 == array2 // returns true because arrays are defined with same elements
output assignArray bool = array2 == array3 // returns true because one array was defined as equal to the other array
output differentOrder bool = array4 == array1 // returns false because order of elements is different

Saída do exemplo:

Nome Tipo Valor
sameElements bool true
assignArray bool true
differentOrder bool false

Ao comparar objetos, os nomes e valores das propriedades têm de ser os mesmos. As propriedades não precisam de ser definidas pela mesma ordem.

var object1 = {
  prop1: 'val1'
  prop2: 'val2'
}

var object2 = {
  prop1: 'val1'
  prop2: 'val2'
}

var object3 = {
  prop2: 'val2'
  prop1: 'val1'
}

var object4 = object3

var object5 = {
  prop1: 'valX'
  prop2: 'valY'
}

output sameObjects bool = object1 == object2 // returns true because both objects defined with same properties
output differentPropertyOrder bool = object3 == object2 // returns true because both objects have same properties even though order is different
output assignObject bool = object4 == object1 // returns true because one object was defined as equal to the other object
output differentValues bool = object5 == object1 // returns false because values are different

Saída do exemplo:

Nome Tipo Valor
sameObjects bool true
differentPropertyOrder bool true
assignObject bool true
differentValues bool false

Não é igual a !=

operand1 != operand2

Avalia se dois valores não são iguais.

Operandos

Operando Tipo Descrição
operand1 cadeia, número inteiro, booleano, matriz, objeto Primeiro valor na comparação.
operand2 cadeia, número inteiro, booleano, matriz, objeto Segundo valor na comparação.

Valor devolvido

Se os operandos não forem iguais, true é devolvido. Se os operandos forem iguais, false é devolvido.

Exemplo

São comparados pares de números inteiros, cadeias e booleanos.

param firstInt int = 10
param secondInt int = 5

param firstString string = 'demo'
param secondString string = 'test'

param firstBool bool = false
param secondBool bool = true

output intNotEqual bool = firstInt != secondInt
output stringNotEqual bool = firstString != secondString
output boolNotEqual bool = firstBool != secondBool

Saída do exemplo:

Nome Tipo Valor
intNotEqual boolean true
stringNotEqual boolean true
boolNotEqual boolean true

Para matrizes e objetos, veja exemplos em igual.

Igual não sensível a maiúsculas e minúsculas =~

operand1 =~ operand2

Ignora maiúsculas e minúsculas para determinar se os dois valores são iguais.

Operandos

Operando Tipo Description
operand1 cadeia (de carateres) Primeira cadeia na comparação.
operand2 string Segunda cadeia na comparação.

Valor devolvido

Se as cadeias forem iguais, true é devolvido. Caso contrário, false é devolvido.

Exemplo

Compara cadeias que utilizam letras de maiúsculas e minúsculas.

param firstString string = 'demo'
param secondString string = 'DEMO'

param thirdString string = 'demo'
param fourthString string = 'TEST'

output strEqual1 bool = firstString =~ secondString
output strEqual2 bool = thirdString =~ fourthString

Saída do exemplo:

Nome Tipo Valor
strEqual1 boolean true
strEqual2 boolean false

Não é sensível a maiúsculas e minúsculas !~

operand1 !~ operand2

Ignora maiúsculas e minúsculas para determinar se os dois valores não são iguais.

Operandos

Operando Tipo Description
operand1 cadeia (de carateres) Primeira cadeia na comparação.
operand2 string Segunda cadeia na comparação.

Valor devolvido

Se as cadeias não forem iguais, true é devolvido. Caso contrário, false é devolvido.

Exemplo

Compara cadeias que utilizam letras de maiúsculas e minúsculas.

param firstString string = 'demo'
param secondString string = 'TEST'

param thirdString string = 'demo'
param fourthString string = 'DeMo'

output strNotEqual1 bool = firstString !~ secondString
output strEqual2 bool = thirdString !~ fourthString

Saída do exemplo:

Nome Tipo Valor
strNotEqual1 boolean true
strNotEqual2 boolean false

Passos seguintes