Найдите длину массива, который был передан вам в Q # - PullRequest
0 голосов
/ 30 июня 2018

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

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

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

Ответы [ 2 ]

0 голосов
/ 01 июля 2018
let n = Length(qubits)

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

mutable n = Length(qubits) 

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

for(index in 0 .. (n-1)) {
//process the element qubits[index]
}
0 голосов
/ 01 июля 2018

Length(qubits)

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

...