📄 enum_type_qualification.adb
字号:
with Text_IO; use Text_IO;
procedure Enum_type_qualification is
--In some situations an expression's or value's type can be ambiguous.
--For example,
type primary is (Red, Green, Blue, yellow, orange);
subtype new_primary is primary range Red .. Blue;
type secondary is (Red, Green, sai, gray, Blue);
-- type rainbow is new integer;
--subtype new_color is rainbow range 1..20;
var_primary, age : primary;
var1_primary : secondary;
i : Integer;
begin
--var1_primary := var_primary; -- error
age := var_primary;-- no error
--for i in red..blue loop -- this is ambiguous
-- Here we need to specify precisely what type is required. This is done
--with type qualification.
for i in primary'(Red) .. primary'(Blue) loop
-- for i in rainbow'(red)..blue loop -- only one qualification needed
--for i in primary'(red)..blue loop
--Type qualification does not change a value's type. It merely informs
--the compiler of what type the programmer thinks it should be.
Put_Line ("hai");
end loop;
--end loop;
-- end loop;
end Enum_type_qualification;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -