Koşullu dallanma
Koşullu dallanma ifadeler biçiminde if
ifade edilir. İfade bir if
yan tümceden if
, ardından sıfır veya daha fazla elif
yan tümceden ve isteğe bağlı olarak bir else bloğundan oluşur. Her yan tümce desene uyar
keyword condition {
<statements>
}
where keyword
is replaced if
with or elif
sırasıyla, condition
türünde Bool
bir ifadedir ve <statements>
sıfır veya daha fazla deyimle değiştirilmelidir. İsteğe bağlı else
-block, anahtar sözcüğünden else
ve ardından ayraç {
}
içine alınmış sıfır veya daha fazla deyimden oluşur.
değerlendirmesinin condition
true
çalıştırılacağı ilk blok. else
Varsa bloğu, koşulların hiçbiri olarak değerlendirilmezse true
çalışır. Blok kendi kapsamında yürütülür, yani bloğun parçası olarak yapılan bağlamalar blok sona erdikten sonra görünmez.
Örneğin, ve türünün Qubit[]
değeri olduğunu ve r1
r2
türünde Result
olduğunu varsayalımqubits
.
if r1 == One {
let q = qubits[0];
H(q);
}
elif r2 == One {
let q = qubits[1];
H(q);
}
else {
H(qubits[2]);
}
Ayrıca, basit dallanmayı koşullu ifade biçiminde de ifade edebilirsiniz.
Hedefe özgü kısıtlamalar
Denetim akışı yapıları ile kuantum hesaplamaları arasındaki sıkı tümleştirme, geçerli kuantum donanımı için bir zorluk oluşturur. Bazı kuantum işlemcileri, ölçüm sonuçlarına göre dallanmayı desteklemez. Bu nedenle, tür Result
değerlerinin karşılaştırılması her zaman bu tür donanımlarda çalıştırılması hedeflenen programlar için Q# bir derleme hatasına neden olur.
Diğer kuantum işlemcileri, ölçüm sonuçlarına göre belirli dallanma türlerini destekler. içinde Q# desteklenen daha genel if
ifadeler, bu tür işlemcilerde çalıştırılabilir uygun yönergeler halinde derlenir. Uygulanan kısıtlamalar, tür Result
değerlerinin yalnızca işlemlerdeki ifadeler içindeki if
koşulun bir parçası olarak karşılaştırılabilmesidir. Ayrıca, koşullu çalıştırma blokları herhangi bir return
ifade içeremez veya bu bloğun dışında bildirilen değiştirilebilir değişkenleri güncelleştiremez.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin