Найдите длину массива, который был передан вам в 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