【问题标题】:How to parse string in Ada如何在 Ada 中解析字符串
【发布时间】:2014-11-02 03:51:03
【问题描述】:

我有使用Get_Line 获得的用户输入字符串, 来自用户的输入可以是,每一行都以新行结束,

1;2;3
4;50;6
7;A;8
1;;7

如何一一解析每个字符串以获得字符、整数和';'?

--

谢谢

【问题讨论】:

  • 你看过Ada.Strings.Fixed中的子程序吗? This RM section 描述了许多有用的子程序。我确信 GNAT 也为字符串解析提供了有用的功能。 StackOverflow 希望提问者首先对他们的问题进行一些研究。
  • @ajb:谢谢你的回答。我对 Ada 完全陌生,我可以轻松地用 C 语言做到这一点,只需告诉我一些指针(一些伪代码)我如何使用 Ada,这将非常有帮助。

标签: ada gnat


【解决方案1】:

Ada 中的字符串是数组,因此获取单个字符将是 Str(n)

for i in Str'Range loop
  c := Str(i);
  ...
end loop;

在 Ada 2012 中,有通用的 for 循环

for c of Str loop
  ...
end loop;

【讨论】:

  • 您不必在第一个版本中将Str (I) 复制到C,当然可以拥有一个角色。 -- 这正是解析字符串的基础(假设您首先知道如何编写解析器 ;-)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 2012-06-29
相关资源
最近更新 更多