Ada:如何将枚举打印为小写

时间:2017-04-10 15:48:30

标签: enumeration ada

我的名字以大写字母开头,然后是其他小写字母。它只打印全部大写。我如何定义打印?谢谢!

1 个答案:

答案 0 :(得分:4)

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

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

以下代码在控制台上打印“bob”:

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

我可以做“Bob”而不是“bob”吗?

是;例如,使用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));