comp.lang.ada
 help / color / mirror / Atom feed
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


  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