From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Substrings as argument to procedures/functions
Date: Tue, 12 Apr 2016 11:01:35 +0200
Date: 2016-04-12T11:01:35+02:00 [thread overview]
Message-ID: <neidi7$j9o$1@gioia.aioe.org> (raw)
In-Reply-To: 2055a188-fb5f-496a-ab37-b25d81cebe1b@googlegroups.com
On 12/04/2016 10:25, reinkor wrote:
> I believed that if a substring is an argument to a subroutine,
> then its "range" would start at 1 (and not inherited from the calling program).
> But this seems not to be the case.
>
> Given the following Ada source code:
>
> with Text_IO;
> use Text_IO;
> procedure t3 is
> package Int_Io is new Text_IO.Integer_Io (Integer);
> use Int_Io;
> procedure string_test1(S : String) is
> begin
> New_Line;
> Put(" In string_test1: ");
> Put(S'First,4);
> Put(S'Last,4);
> end string_test1;
> Str : String := "ABCDEF";
> begin
> string_test1(Str);
> string_test1(Str(3..5));
> end t3;
>
> The second call to "string_test1" gives:
>
> In string_test1: 3 5
>
> (at least on my computer).
>
> Is this correct? And in case, is it "good" ? :-)
Yes, it is good.
Consider a program that uses an index to walk through a string/array.
When you pass a substring of the string and an index into it (usually
in-out) down to a subprogram, then the index remains valid.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2016-04-12 9:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-12 8:25 Substrings as argument to procedures/functions reinkor
2016-04-12 9:01 ` Dmitry A. Kazakov [this message]
2016-04-12 16:55 ` reinkor
2016-04-12 18:37 ` Dmitry A. Kazakov
2016-04-13 4:44 ` reinkor
2016-04-13 7:19 ` Dmitry A. Kazakov
2016-04-13 10:16 ` Brian Drummond
2016-04-13 11:43 ` reinkor
2016-04-13 11:54 ` Pascal Obry
2016-04-13 12:30 ` Mart van de Wege
2016-04-13 12:47 ` Egil H H
2016-04-13 13:19 ` Mart van de Wege
2016-04-13 16:57 ` Jeffrey R. Carter
2016-04-12 18:17 ` Robert A Duff
2016-04-12 18:34 ` Jeffrey R. Carter
2016-04-13 21:29 ` Randy Brukardt
2016-04-25 15:33 ` rieachus
2016-04-25 22:07 ` Randy Brukardt
2016-04-26 6:12 ` Georg Bauhaus
2016-04-26 18:41 ` Randy Brukardt
2016-04-13 11:22 ` G.B.
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox