字符串转换为字符串Ada

Kub*_*ski 1 ada type-conversion

我试图迭代字符并使用Put_Line()函数打印它们但它需要字符串参数,而不是字符.是否可以将char转换为String,就像我可以使用Integer一样'Image()?我的代码:

with Ada.Text_IO;
use Ada.Text_IO;

procedure Main is

begin
  for I in 'A' .. 'Z' loop
    Put_Line(I);
  end loop;
end Main;
Run Code Online (Sandbox Code Playgroud)

Tim*_*dze 8

您的问题不仅仅是字符转换,还需要通知编译器您将使用哪种字符,是的,您可以使用Image属性来获取字符串的字符串表示形式.

with Ada.Text_IO;
use Ada.Text_IO;

procedure Main is

begin
   for I in Character range 'A' .. 'Z' loop
      Put_Line(I'Image);
   end loop;
end Main;
Run Code Online (Sandbox Code Playgroud)

这段代码可行.

  • 谢谢你 - 我不知道新的'X'Image`,只有GNAT`'Img`. (2认同)
  • `X'Image`是一个新的GNAT扩展,可能预期Ada 2020.问题是,像`X'Img`或标准`Character'Image`它用引号打印字符(即''A'`).从字符创建字符串的简单方法是将字符连接到空字符串(即`Put_line(""&I);`. (2认同)