Ada 程式設計/屬性/'Valid Scalars
外觀
'Valid_Scalars 屬性旨在簡化檢查複合物件中標量子元件有效性的過程。該屬性定義了所有表示物件的 字首 P,除了標記私有型別或 Unchecked_Union 型別。屬性值為 Boolean 型別。
P'Valid_Scalars 當且僅當對 P 的每個標量子元件 C 評估 C'Valid 都返回 True 時,或 P 沒有標量子元件時,才返回 True。對於標量型別,屬性 'Valid_Scalars 等同於屬性 'Valid。
未指定子元件檢查的順序,以及在確定一個子元件無效後是否會繼續檢查其他子元件。如果字首 P 是類寬型別 T'Class(其中 T 是關聯的具體型別),或者字首 P 是具體標記型別 T,那麼只檢查 T 的子元件;換句話說,即使 T'Class (P)'Tag /= T'Tag,也不會檢查 T 的擴充套件型別的元件。
如果編譯器能夠在編譯時確定屬性的字首沒有標量子元件,則會發出警告。
注意:Valid_Scalars 可能會生成大量程式碼,尤其是在大型變體記錄的情況下。如果在同一個程式中,對於相同型別的物件,屬性在許多地方被呼叫,則可以編寫一個包含單個屬性使用的函式,然後從多個地方呼叫該函式,以減少程式大小。