我的名字以大写字母开头,然后是其他小写字母。它只打印全部大写。我如何定义打印?谢谢!
答案 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));