任何人都可以告诉我在Ada语言中使用Insert。我试过网但我不能弄明白。如果有人能给我提供例子,那将是一个很大的帮助。
提前致谢 麦迪
答案 0 :(得分:3)
我以前从未使用Insert
(除了简单的Put_Line
之外,我不需要做任何事情)所以将它们组合在一起:
with Ada.Strings.Fixed;
with Ada.Text_IO; use Ada.Text_IO;
procedure Inserting is
Base : constant String := (1 .. 8 => ' ') & "aaaaaaaa" & (1 .. 8 => ' ');
begin
Put_Line (ASCII.HT & '|' & Base & '|');
for J in 1 .. 24 loop
declare
S : String := Base;
begin
Ada.Strings.Fixed.Insert (S,
Before => J,
New_Item => "ccc");
Put_Line (Integer'Image (J) & ASCII.HT & '|' & S & '|');
end;
end loop;
end Inserting;
,输出
| aaaaaaaa |
1 |ccc aaaaaaaa |
2 | ccc aaaaaaaa |
3 | ccc aaaaaaaa |
4 | ccc aaaaaaaa |
5 | ccc aaaaaaaa |
6 | ccc aaaaaaaa |
7 | ccc aaaaaaaa |
8 | ccc aaaaaaaa |
9 | cccaaaaaaaa |
10 | acccaaaaaaa |
11 | aacccaaaaaa |
12 | aaacccaaaaa |
13 | aaaacccaaaa |
14 | aaaaacccaaa |
15 | aaaaaacccaa |
16 | aaaaaaaccca |
17 | aaaaaaaaccc |
18 | aaaaaaaa ccc |
19 | aaaaaaaa ccc |
20 | aaaaaaaa ccc |
21 | aaaaaaaa ccc |
22 | aaaaaaaa ccc|
raised ADA.STRINGS.LENGTH_ERROR : a-strfix.adb:358
我希望它具有一般的味道。
在http://www.adaic.com/standards/95aarm/html/AA-A-4-3.html(3)的Ada95AARM A.4.3讲述了这背后的概念。