Ada 程式設計/屬性/'Range
外觀
屬性 attribute 的含義取決於字首 X 的含義。
如果 X 是一個標量子型別,則 X'Range 表示該子型別的有效值範圍,即它與子型別本身相同。
如果 X 是一個受約束的陣列子型別或陣列物件,則 X'Range 表示 X 的索引範圍。
在任何情況下,X'Range 等效於 X'First .. X'Last,但 X 只會被評估一次。
如果 X 是多維的,則屬性需要一個靜態引數 N 來標識第 N 個索引;'Range (1) 與 'Range 相同。
X'Range (N) 等效於 X'First(N) .. X'Last(N),但 X 只會被評估一次。
typeTisrange1..10; -- T'Range is equal to TtypeAisarray(T)ofS; -- these three A'Range is the same as TtypeAisarray(T'Range)ofS; -- declarationstypeAisarray(T'First .. T'Last )ofS; -- are equivalenttypeBisarray(Trange<>)ofS; -- B'Range is illegal (B is unconstrained)subtypeSBisB (2 .. 5); -- SB'Range is the same as 2 .. 5typeMisarray(Boolean, T)ofS; -- M'Range is equivalent to M'Range (1), which is Boolean -- M'Range (2) is the same as T
OA: A; -- OA'Range is the same as T OB: B (2 .. 5); -- OB'Range is equal to 2 .. 5
