다음을 통해 공유


Bicep 논리 연산자

논리 연산자는 부울 값을 평가하거나, null이 아닌 값을 반환하거나, 조건식을 평가합니다. 예제를 실행하려면 Azure CLI 또는 Azure PowerShell을 사용하여 Bicep 파일을 배포합니다.

연산자 이름
&& And
|| Or
! Not
?? Coalesce
? : 조건 식

And &&

operand1 && operand2

두 값이 모두 true인지 확인합니다.

피연산자

피연산자 Type 설명
operand1 부울 값 true인지 확인할 첫 번째 값입니다.
operand2 부울 값 true인지 확인할 두 번째 값입니다.
추가 피연산자 부울 값 피연산자를 더 많이 포함할 수 있습니다.

반환 값

두 값이 모두 true이면 True가 반환되고 그렇지 않으면 false가 반환됩니다.

예시

매개 변수 값 집합과 식 집합을 평가합니다.

param operand1 bool = true
param operand2 bool = true

output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2

예제의 출력:

이름 타입
andResultParm 부울 값 true
andResultExp 부울 값 true

Bicep 개체를 사용하여 언어 식 속성 'foo'가 존재하지 않음 예외를 방지하려면 다음 예와 같이 And 논리 연산자를 사용할 수 있습니다.

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

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

Or ||

operand1 || operand2

두 값 중 하나가 true인지 확인합니다.

피연산자

피연산자 Type 설명
operand1 부울 값 true인지 확인할 첫 번째 값입니다.
operand2 부울 값 true인지 확인할 두 번째 값입니다.
추가 피연산자 부울 값 피연산자를 더 많이 포함할 수 있습니다.

반환 값

두 값 중 하나가 true이면 True가 반환하고 그렇지 않으면 false가 반환됩니다.

예시

매개 변수 값 집합과 식 집합을 평가합니다.

param operand1 bool = true
param operand2 bool = false

output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2

예제의 출력:

이름 타입
orResultParm 부울 값 true
orResultExp 부울 값 true

언어 식 속성 배열 인덱스 'x'가 범위를 벗어남 예외를 방지하려면 다음 예와 같이 Or 논리 연산자를 사용할 수 있습니다.

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

부울 값을 부정합니다.

피연산자

피연산자 Type 설명
boolValue 부울 값 부정된 부울 값입니다.

반환 값

초기 값을 부정하고 부울 값을 반환합니다. 초기 값이 true이면 false가 반환됩니다.

예시

not 연산자는 값을 부정합니다. 값이 괄호로 묶일 수 있습니다.

param initTrue bool = true
param initFalse bool = false

output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse

예제의 출력:

이름 타입
startedTrue 부울 값 false
startedFalse 부울 값 true

Coalesce ??

operand1 ?? operand2

피연산자에서 null이 아닌 첫 번째 값을 반환합니다.

피연산자

피연산자 Type 설명
operand1 문자열, 정수, 부울, 개체, 배열 null에 대한 테스트 값입니다.
operand2 문자열, 정수, 부울, 개체, 배열 null에 대한 테스트 값입니다.
추가 피연산자 문자열, 정수, 부울, 개체, 배열 null에 대한 테스트 값입니다.

반환 값

null이 아닌 첫 번째 값을 반환합니다. 빈 문자열, 빈 배열 및 빈 개체는 null이 아니며 <빈> 값이 반환됩니다.

예시

출력 문은 null이 아닌 값을 반환합니다. 출력 형식은 비교 형식과 일치해야 합니다. 그렇지 않으면 오류가 생성됩니다.

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

예제의 출력:

이름 타입
nonNullStr string demoString
nonNullInt int 10
nonNullEmpty string <empty>

조건 식? :

condition ? true-value : false-value

조건을 평가하고 조건이 true 또는 false인지 여부를 나타내는 값을 반환합니다.

피연산자

피연산자 Type 설명
condition 부울 값 true 또는 false로 평가되는 조건입니다.
true-value 문자열, 정수, 부울, 개체, 배열 조건이 true인 경우의 값입니다.
false-value 문자열, 정수, 부울, 개체, 배열 조건이 false인 경우의 값입니다.

예시

이 예에서는 매개 변수의 초기값을 평가하고 조건이 true 또는 false인지 여부를 나타내는 값을 반환합니다.

param initValue bool = true

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

예제의 출력:

이름 타입
outValue string true 값

다음 단계