共用方式為


條件運算式

條件表達式是由三個子表達式所組成,其中最左邊的子表達式類型為 Bool,並判斷要評估另外兩個子表達式的其中一個。 它們是表單

cond ? ifTrue | ifFalse

具體來說,如果 cond 評估為 true,則條件表達式會評估為 ifTrue 表達式;否則,它會評估為 ifFalse 表達式。 另一個表達式(分別 ifFalseifTrue 表示式)永遠不會評估,就像 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

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