Bu belgede, bağlantı kontrollerinin kullanım yolları gösterilmektedir.
Değer örnekleri
Girişler ve çıkışlar için bağlantı kontrollerini tanımlarken genellikle bu kontrolleri türleri temsil eden öğeler olarak düşünmeniz gerekir.
Girişlerin kontrolleri, kabul ettikleri her "türü" içermeli, çıkışların kontrolleri ise tam olarak "döndürdüklerini" içermelidir.
Tek bir türü kabul etme
Bir türü "kabul eden" veya "döndüren" bir blok oluşturmak istediğiniz en temel durumda, bu türü bağlantının bağlantı kontrolüne dahil etmeniz gerekir.
Birden fazla türü kabul etme
Birden fazla türü "kabul eden" bir blok oluşturmak için kabul edilen her türü girişin bağlantı kontrolüne eklemeniz gerekir.
Kural olarak, bir çıkış bazen birden fazla durumda kabul edilebiliyorsa (ör. sayıların bazen dize olarak kullanılmasına izin veriyorsanız) çıkış daha kısıtlayıcı, girişler ise daha izin verici olmalıdır. Bu kural, çıkışların desteklenmediği yerlerde bağlanmamasını sağlar.
Tüm türler
Herhangi bir türü "kabul eden" bir blok oluşturmak için girişin bağlantı kontrolünü null
olarak ayarlamanız gerekir.
Dönüş alt türleri
Bir alt türü "döndüren" bir blok oluşturmak için çıkışın bağlantı kontrolüne hem türü hem de süper türü eklemeniz gerekir.
Alt türler söz konusu olduğunda, blok her zaman her iki türü de "döndürdüğü" için çıkış kontrolünde birden fazla kontrol olmasında sakınca yoktur.
Parametreli türleri döndürme
Parametreli bir türü "döndüren" bir blok oluşturmak için çıkışın bağlantı kontrolüne hem parametrelenmiş sürümü hem de parametresiz sürümü eklemeniz gerekir.
Engelleme dilinizin ne kadar katı olmasını istediğinize bağlı olarak türün varyasyonlarını da ekleyebilirsiniz.
Alt türlerde olduğu gibi, bu durumda da çıkış kontrolünde birden fazla kontrol olmasında sakınca yoktur. Çünkü blok her zaman her iki türü de "döndürür".
Yığın veya ifade örnekleri
Geliştiricilerin önceki ve sonraki bağlantılar için kontrolleri tanımlamasının birkaç yaygın yolu vardır. Genellikle bunları, blokların sıralamasını kısıtlayan bir şey olarak düşünürsünüz.
Sonraki bağlantılar, mevcut bloktan sonra hangi blokların gelmesi gerektiğini, önceki bağlantılar ise mevcut bloğun "ne olduğunu" içerir.
Blokları sırayla tutma
Belirli bir sırada bağlanan bir blok grubu oluşturmak için bir sonraki bağlantı kontrolünde mevcut bloğu hangi blokların takip etmesi gerektiğini ve önceki bağlantı kontrolünde mevcut bloğun "ne olduğunu" eklemeniz gerekir.
Çok sayıda orta blok kullanmaya izin verin
Çok sayıda orta blok içeren bir sıralı blok grubu oluşturmak için orta blokun önceki bağlantı kontrolünden en az bir girişi orta blokun sonraki bağlantı kontrolüne dahil etmeniz gerekir. Bu sayede, bloğun daha fazlası tarafından takip edilmesi sağlanır.
Ortadaki bloklara izin verme
Orta blokların isteğe bağlı olduğu sıralı bir blok grubu oluşturmak için ilk bloğun sonraki bağlantı kontrolünde hem orta bloğun önceki bağlantı kontrolünden hem de son bloğun önceki bağlantı kontrolünden en az bir giriş eklemeniz gerekir. Bu sayede, ilk bloğun ardından orta veya son bir blok gelebilir.
Ya da grupları
Yalnızca bir gruptaki veya başka bir gruptaki bloklarla (her iki gruptaki bloklarla değil) takip edilebilecek bir blok oluşturmak için iki şey yapmanız gerekir:
İlk bloğun sonraki bağlantı kontrolünde, her iki grubun önceki bağlantı kontrollerinden en az bir giriş eklemeniz gerekir.
Grupların sonraki bağlantı kontrollerini, yalnızca önceki bağlantı kontrollerinde bulunan değerleri içerecek şekilde tanımlamanız gerekir (böylece yalnızca aynı grubun blokları tarafından takip edilebilirler).