查找在 Q# 中传递给您的数组的长度

Find the length of the array that was passed to you in Q#

我有如下操作,驱动程序需要向其发送一个量子位数组。

operation myOp(qubits: Qubit[]) : () {
     // uses elements from the qubit array        
 }

如何从代码中找到这个数组的长度?

Length(qubits)

在数值表达式的文档中提到:https://docs.microsoft.com/en-us/quantum/quantum-qr-expressions#numeric-expressions

let n = Length(qubits)

这会将长度存储在变量 n 中。 n 也是一个不能改变的常量。如果出于任何原因你想要一个可变变量 n 那么

mutable n = Length(qubits) 

可以更改。现在您可以使用 for 循环遍历数组(适用于常量或可变 n)

for(index in 0 .. (n-1)) {
//process the element qubits[index]
}