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

Ada: How to print Enumerations as Lowercase

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

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);

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

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

Can I do "Bob" instead of "bob"?

是;例如,

  • 使用Ada.Characters.Handling, the functions To_Lower, To_Upper, and To_Basic are available for both strings and characters, as shown here.

  • 使用 Enumeration_IOAda.Strings.Fixed,以下片段打印 "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));