Найдите длину массива, который был передан вам в Q#

У меня есть следующая операция, в которой драйвер должен отправить массив кубитов.

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

Как мне найти длину этого массива из кода?

2 ответа

Решение
let n = Length(qubits)

Это сохранит длину в переменной n. Также n - это константа, которую нельзя изменить. Если по какой-либо причине вам нужна изменяемая переменная n, тогда

mutable n = Length(qubits) 

который можно изменить. Теперь вы можете перебирать массив, используя цикл for (работает как для константы, так и для переменной n)

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

Length(qubits)

Упоминается в документации по числовым выражениям: https://docs.microsoft.com/en-us/quantum/quantum-qr-expressions

Другие вопросы по тегам