[fpc-pascal]ansistring question
Jonas Maebe
jonas at zeus.rug.ac.be
Fri Jan 3 17:01:42 CET 2003
On vrijdag, jan 3, 2003, at 16:28 Europe/Brussels, Mark Emerson wrote:
> Consider the equation in the if statement:
>
> var
> a, b : ansistring;
>
> begin
> a := 'hello world..and a lot of other stuff to make this string
> long';
> b := a;
> if a=b then write ('idential');
> end.
>
> How is a=b evaluated? I hope/presume the text in the string is not
> taken into consideration at all, and that the system can immediately
> see
> that they are identical. Am I right?
No. How would the system know that? You can have two completely
unrelated ansistrings with the same content (just do a readln() of two
ansistrings and type in twice the same text), so a full string compare
is necessary. It would be possible to make the comparison a two step
process, in which we first check whether the ansistrings point to the
same ansistring structure and only if that fails, start doing an actual
string compare, but I doubt this will gain you much a most real world
programs.
Jonas
More information about the fpc-pascal
mailing list