On Fri, 25 May 2018, Sven Barth via fpc-pascal wrote:

Yes, that is what it does. Though a possible optimization would be that the
compiler detects "dynarr := dynarr + [elem]" and converts it to
"Insert(elem, dynarr, High(dynarr))".


Since dynamic array helpers work could you expose a function that adds an
element to the array (an grows it if needed) so we could make helpers for
it? Pushing a value to an array is perhaps the most common function used
for lists so it makes sense to get that right imo.


That function already exists and is called Insert() (see above).

Nice. I didn't know Insert() could be used to append to the end of a string.

One learns every day ! One for the documentation :-)

To be clear: for strings you can do

var
  S : String;

begin
  S:='123';
  Insert('456',S,Length(S)+2);
  Writeln(S);
end.

and it will append. Is the same true for dynamic arrays ? i.e. any insert position >= length will do an append ?

Michael.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to