2017-04-10 60 views

回答

4

当您在Ada.Text_IO.Enumeration_IO的实例中调用相关Put过程时,请为Type_Set参数指定Lower_Case。鉴于这些声明,

type Name_Type is (Alice, Bob, Carl); 
package Name_IO is new Ada.Text_IO.Enumeration_IO (Name_Type); 

下面的代码打印在控制台上的 “鲍勃”:

Name_IO.Put(Bob, Name_IO.Default_Width, Ada.Text_IO.Lower_Case); 

我能行 “鲍勃”,而不是 “鲍勃”?

是的;例如,使用Ada.Strings.Fixed

  • @ B98引用一个方法here

  • 使用Enumeration_IO,以下片段打印“Bob”。

    Upper : String(1 .. 8); 
    Lower : String(1 .. 8); 
    … 
    Name_IO.Put(Upper, Bob, Ada.Text_IO.Upper_Case); 
    Name_IO.Put(Lower, Bob, Ada.Text_IO.Lower_Case); 
    Ada.Text_IO.Put_Line(Ada.Strings.Fixed.Trim(
        Upper(Upper'First) & Lower(Lower'First + 1 .. Lower'Last), 
        Ada.Strings.Right)); 
    
+0

我可以做的 “鲍勃”,而不是 “鲍勃”? – Numnumberry

+0

是的,有很多方法;我已经建议两个以上。 – trashgod