共用方式為


條件運算式

條件表達式是由三個子表達式所組成,其中最左邊的子表達式屬於 類型 Bool ,並決定評估其他兩個子表達式的其中一個。 其形式如下

cond ? ifTrue | ifFalse

具體而言,如果 cond 評估為 true,則條件表達式會評估為 ifTrue 表達式,否則會評估為 ifFalse 表達式。 (和 ifTrue 表達式的另一ifFalse個表達式,分別) 永遠不會評估,就像語句中的分支一if樣。 例如,在表示式 a == b ? C(qs) | D(qs)中,如果 a 等於 b,則會叫用可 C 呼叫的 。 否則會 D 叫用 。

ifTrueifFalse 運算式的類型必須具有通用基底類型。 與其最終產生表達式評估值無關,其類型一律符合決定的基底類型。

例如,如果

  • 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

如需詳細資訊,請參閱 子樣式