在ada中使用insert?

在ada中使用insert?,ada,Ada,有谁能告诉我在Ada语言中Insert的用法吗。我试过网,但我就是想不出来。如果有人也能给我举个例子,那将是一个很大的帮助 提前谢谢 Maddy我以前从未使用过Insert(除了简单的Put\u Line和字符串外,通常不需要做任何事情),所以我将这一点结合起来: with Ada.Strings.Fixed; with Ada.Text_IO; use Ada.Text_IO; procedure Inserting is Base : constant String := (1 ..

有谁能告诉我在Ada语言中Insert的用法吗。我试过网,但我就是想不出来。如果有人也能给我举个例子,那将是一个很大的帮助

提前谢谢
Maddy

我以前从未使用过
Insert
(除了简单的
Put\u 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
我希望它能给人一种普遍的感觉


Ada95AARM A.4.3第(3)部分讲述了这背后的概念。

Maddy,我认为我们需要更多的背景知识!你是说Ada.Strings中的一个插入?还是用集装箱?此外,SO将您的大部分问题格式化为代码,因为您在文本前面加了许多空格(>=4)。最好不要在中插入前导空格。@Simon Wright…我需要在ada.Strings中插入内容。如果您能为我提供所用插入内容的更全面概述,那就更好了。关于格式部分,我下次会处理的。我不想在这里听起来像个混蛋,但你的问题是如此基本,如此简单,以至于人们几乎不知道从哪里开始。如果你不能通过简单地阅读参考手册中非常清晰的描述,或者在测试程序中尝试调用它,那么你对Ada的理解是如此缺乏,以至于你很难知道如何以足够简单的方式解释它。抱歉,“插入”不是关键字,IIR作为子例程名称出现在多个库(包括标准库)中,因此您确实需要澄清这一点。