【问题标题】:Char to String conversion Ada字符到字符串的转换 Ada
【发布时间】:2017-10-17 12:00:39
【问题描述】:

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

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;

【问题讨论】:

    标签: type-conversion ada


    【解决方案1】:

    您的问题不仅是字符转换,还需要告知编译器您将使用哪种字符,是的,您可以使用 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;
    

    此代码将起作用。

    【讨论】:

    • 谢谢 - 我不知道新的X’Image,只有 GNAT ’Img
    • X'Image 是一个新的 GNAT 扩展,可能会在 Ada 2020 之前出现。问题在于,与 X'Img 或标准 Character'Image 一样,它会将字符打印在引号中(即 'A')。从字符创建字符串的一种简单方法是将字符连接到空字符串(即Put_line("" & I);
    • 使用 GNATMAKE GPL 2015 (20150428-49) 编译失败,“Image”属性的前缀必须是一个类型。如果代码使用较新的编译器编译,有人请澄清这在什么时候成为语言功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2023-02-05
    • 2016-04-08
    相关资源
    最近更新 更多