Aracılığıyla paylaş


Açıklamanın Ne Zaman ve Nereye Uygulanacağını Belirtme

Ek açıklama koşullu olduğunda, çözümleyiciye bunu belirtmek için başka ek açıklamalar gerekebilir. Örneğin, bir işlevin zaman uyumlu veya zaman uyumsuz olabilecek bir değişkeni varsa, işlev şu şekilde davranır: Zaman uyumlu durumda her zaman başarılı olur, ancak zaman uyumsuz durumda hemen başarılı olamıyorsa bir hata bildirir. İşlev zaman uyumlu olarak çağrıldığında sonuç değerinin denetlenmesi kod çözümleyicisine hiçbir değer sağlamaz çünkü döndürülmeyebilirdi. Ancak işlev zaman uyumsuz olarak çağrıldığında ve işlev sonucu işaretlenmediğinde ciddi bir hata oluşabilir. Bu örnekte, denetimi etkinleştirmek için bu makalenin ilerleyen bölümlerinde açıklanan ek açıklamayı _When_ kullanabileceğiniz bir durum gösterilmektedir.

Yapısal Ek Açıklamalar

Ek açıklamaların ne zaman ve nerede uygulanacağını denetlemek için aşağıdaki yapısal ek açıklamaları kullanın.

Ek Açıklama Tanım
_At_(expr, anno-list) expr bir lvalue veren bir ifadedir. içindeki anno-list ek açıklamalar tarafından expradlandırılan nesneye uygulanır. içindeki anno-listexpr her ek açıklama için, ek açıklama ön koşulda yorumlanıyorsa ön koşulda ve ek açıklama son koşulda yorumlanıyorsa post-condition olarak yorumlanır.
_At_buffer_(expr, iter, elem-count, anno-list) expr bir lvalue veren bir ifadedir. içindeki anno-list ek açıklamalar tarafından expradlandırılan nesneye uygulanır. içindeki anno-listexpr her ek açıklama için, ek açıklama önkoşulda yorumlanıyorsa ön koşulda ve ek açıklama son koşulda yorumlanıyorsa post-condition olarak yorumlanır.

iter , kapsamı ek açıklama (dahil) olan bir değişkenin adıdır anno-list. iter örtük bir türe longsahiptir. Herhangi bir kapsayan kapsamdaki aynı adlandırılmış değişkenler değerlendirmeden gizlenir.

elem-count , tamsayı olarak değerlendirilen bir ifadedir.
_Group_(anno-list) içindeki anno-list ek açıklamaların, her ek açıklamaya uygulanan grup ek açıklamasına uygulanan herhangi bir niteleyiciye sahip olduğu kabul edilir.
_When_(expr, anno-list) expr , öğesine dönüştürülebilen boolbir ifadedir. Sıfır olmayan ()true olduğunda, içinde anno-list belirtilen ek açıklamalar geçerli kabul edilir.

Varsayılan olarak, içindeki anno-listexpr her ek açıklama için, ek açıklama bir önkoşulsa giriş değerlerinin kullanılması ve ek açıklamanın son koşul olması durumunda çıkış değerlerinin kullanılması olarak yorumlanır. Varsayılanı geçersiz kılmak için, giriş değerlerinin _Old_ kullanılması gerektiğini belirtmek üzere bir son koşulu değerlendirirken iç değerini kullanabilirsiniz. Not: Ön koşulda değerlendirilen sonucu son koşulda değerlendirilen sonuçtan farklı olabileceğinden, değiştirilebilir bir değerin expr (örneğin, *pLengthsöz konusu olduğunda) kullanılması _When_ sonucunda farklı ek açıklamalar etkinleştirilebilir.

Ayrıca bkz.