Ad alanları
En üst düzeyde, bir Q# program bir dizi ad alanı içerir. Açıklamaların yanı sıra, ad alanları bir Q# programdaki tek üst düzey öğelerdir ve diğer öğelerin bir ad alanında bulunması gerekir. Her dosya sıfır veya daha fazla ad alanı içerebilir ve her ad alanı birden çok dosyaya yayılabilir. Q# iç içe ad alanlarını desteklemez.
Ad alanı bloğu anahtar sözcüğünden namespace
ve ardından ad alanı adından ve küme ayraçlarının { }
içindeki bloğun içeriğinden oluşur.
Ad alanı adları, nokta (.
) ile ayrılmış bir veya daha fazla yasal simgeden oluşan bir diziden oluşur.
Ad alanı adları daha iyi okunabilirlik için noktalar içerebilir ancak Q# ad alanlarına göreli başvuruları desteklemez. Örneğin, iki ad alanı Foo
ve Foo.Bar
ile ilişkisizdir ve hiyerarşiye ilişkin bir not yoktur. Özellikle, içinde Foo.Bar
tanımlanan bir işlev Baz
için aracılığıyla bu işlevi açmak Foo
ve ardından bu işleve Bar.Baz
erişmek mümkün değildir.
Ad alanı blokları açık yönergelerin yanı sıra işlem, işlev ve tür bildirimleri içerebilir. Bunlar herhangi bir sırada ortaya çıkabilir ve varsayılan olarak özyinelemeli olabilir, yani herhangi bir sırada bildirilebilir ve kullanılabilirler ve kendilerini çağırabilirler; kullanımdan önce bir türün veya çağrılabilir bildirimine gerek yoktur.
Open Yönergeleri
Varsayılan olarak, aynı ad alanında bildirilen her şeye başka niteleme olmadan erişilebilir. Ancak, farklı bir ad alanında bildirimler yalnızca adlarını ait oldukları ad alanının adıyla niteleyerek veya aşağıdaki örnekte gösterildiği gibi kullanılmadan önce bu ad alanını açarak kullanılabilir.
namespace Microsoft.Quantum.Samples {
open Microsoft.Quantum.Arithmetic;
open Microsoft.Quantum.Arrays as Array;
// ...
}
Örnek, Microsoft.Quantum.Artithmetic ad alanında bildirilen tüm türleri ve çağrılabilenleri içeri aktarmak için bir open
yönerge kullanır. Ad alanı bloğundaki bir bildirimle veya başka bir açık ad alanındaki bir ad alanıyla çakışmadığı sürece bu adlar, nitelenmemiş adlarıyla adlandırılabilir.
Belirli öğelerin nereden geldiğini ayırt ederken tam adı yazmaktan kaçınmak için, belirli bir ad alanı için genellikle daha kısa olan alternatif bir ad veya diğer ad tanımlayabilirsiniz. Bu durumda, söz konusu ad alanında bildirilen tüm türler ve çağrılabilir öğeler bunun yerine tanımlanan kısa adla nitelenebilir.
Önceki örnekte ad alanı için bu durum söz Microsoft.Quantum.Arrays
konusudur. Örneğin içinde Microsoft.Quantum.Arrays
bildirilen bir işlevIndexRange
, bu ad alanı bloğu içinde aracılığıyla Array.IndexRange
kullanılabilir.
Ad alanını açarken veya diğer ad tanımlarken yönergeler yalnızca open
bu dosyadaki ad alanı parçası boyunca geçerlidir.
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