所以我有一个我声明的类型,它指的是人民的名字,其中一个名字是“Do”,例如
type name is (BOB, SKIPPY, DO)
编译器错误:保留字“Do”不能用作标识符。
周围有没有不必使用字符串的地方?似乎老师这样做是为了给我们施加压力。
我制作了一个通用包,所以制作一个变量字符串类型并实例化它会更容易吗?
保留字是保留字,故事结束。
当保留字在给定情况下是最好的字时,有一些常用的技术:
如果您担心输出它会是什么样子,那么通常不鼓励使用简单的枚举到字符串属性 'Image,因为它是枚举值的文字描述,因此输出的内容变为与您选择的编码标识符紧密耦合。调试很好,但对于人类可读的输出,您应该使用其他东西,例如枚举值的大小写或使用枚举到字符串的映射。
除非有一些令人信服的理由,否则使用字符串来表示枚举的值不会有任何好处。
使用前缀 [或后缀] 选项,然后您可以执行以下操作:
type Names is ( Name_Bobby, Name_Dave, Name_Calvin, Name_Do );
Function Put( Item : In names ) Return String is
Prolog : Constant String:= "Name_";
Image : Constant String:= Item'Image;
begin
Return Image( Image'First+Prolog'Length..Image'Last );
end Put;