다음을 통해 공유


조건부 식

조건식은 세 개의 하위 식으로 구성되며, 가장 왼쪽에 있는 하위 식은 Bool 형식이며 두 개의 다른 하위 식 중에서 평가되는 하위 식을 결정합니다. 형식입니다.

cond ? ifTrue | ifFalse

특히 condtrue로 평가되면 조건식은 ifTrue 식으로 평가되고, 그렇지 않으면 ifFalse 식으로 평가됩니다. 다른 식(각각 ifFalseifTrue 식)은 if 문의 분기와 마찬가지로 평가되지 않습니다. 예를 들어 a == b ? C(qs) | D(qs) 식에서 ab이면 C 호출 가능 항목이 호출됩니다. 그렇지 않으면 D가 호출됩니다.

ifTrueifFalse 식의 형식에는 공통 기본 형식이 있어야 합니다. 둘 중 하나에서 궁극적으로 식이 평가하는 값을 산출하는지에 관계없이 해당 형식은 항상 결정된 기본 형식과 일치합니다.

예를 들어 다음 조건이면

  • Op1Qubit[] => Unit is Adj 형식입니다.
  • Op2Qubit[] => Unit is Ctl 형식입니다.
  • Op3Qubit[] => Unit is Adj + Ctl 형식입니다.

다음으로

  • cond ? Op1 | Op2Qubit[] => Unit 형식입니다.
  • cond ? Op1 | Op3Qubit[] => Unit is Adj 형식입니다.
  • cond ? Op2 | Op3Qubit[] => Unit is Ctl 형식입니다.

자세한 내용은 하위 형식 지정을 참조하세요.