조건부 식
조건식은 세 개의 하위 식으로 구성되며, 가장 왼쪽에 있는 하위 식은 Bool
형식이며 두 개의 다른 하위 식 중에서 평가되는 하위 식을 결정합니다. 형식입니다.
cond ? ifTrue | ifFalse
특히 cond
가 true
로 평가되면 조건식은 ifTrue
식으로 평가되고, 그렇지 않으면 ifFalse
식으로 평가됩니다. 다른 식(각각 ifFalse
및 ifTrue
식)은 if
문의 분기와 마찬가지로 평가되지 않습니다.
예를 들어 a == b ? C(qs) | D(qs)
식에서 a
가 b
이면 C
호출 가능 항목이 호출됩니다. 그렇지 않으면 D
가 호출됩니다.
ifTrue
및 ifFalse
식의 형식에는 공통 기본 형식이 있어야 합니다. 둘 중 하나에서 궁극적으로 식이 평가하는 값을 산출하는지에 관계없이 해당 형식은 항상 결정된 기본 형식과 일치합니다.
예를 들어 다음 조건이면
-
Op1
이Qubit[] => Unit is Adj
형식입니다. -
Op2
이Qubit[] => Unit is Ctl
형식입니다. -
Op3
이Qubit[] => Unit is Adj + Ctl
형식입니다.
다음으로
-
cond ? Op1 | Op2
이Qubit[] => Unit
형식입니다. -
cond ? Op1 | Op3
이Qubit[] => Unit is Adj
형식입니다. -
cond ? Op2 | Op3
이Qubit[] => Unit is Ctl
형식입니다.
자세한 내용은 하위 형식 지정을 참조하세요.