comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org>
Subject: Re: Ada Idioms Progress Preview
Date: Tue, 14 Aug 2001 09:22:23 -0400
Date: 2001-08-14T13:22:25+00:00	[thread overview]
Message-ID: <9lb8mh$9am$1@nh.pace.co.uk> (raw)
In-Reply-To: zVXd7.109$2u.23585@www.newsranger.com

This works nicely so long as you are doing one of two things (again, by
convention.) If you are always allocating your strings off the stack after
deciding how much space you need by entering a new scope or you are always
allocating your strings off the heap with the "new" operator. Both cases
allow you to write string handling code that takes advantage of 'First,
'Last, 'Length and so on.

However, this is not always convenient or simple. Certainly, understanding
the idioms necessary to do it is maybe just a bit beyond the beginner. (Hey,
there's a topic for the Idiom Guys!) Also, it is not something that is
assumed by all of the language supplied services. (Text_IO, being a problem
in this area. Suppose that a Get_Line were to return an access to a string
instead of putting characters into your own string and giving you a length?
That would have its own pitfalls, but it would allow you to structure
everything else using 'First 'Last & 'Length.)

Maybe Ada0x should attempt to establish some convention here? Ahhhhhh....
Skip it! We've got Unbounded strings - just use them!. :-)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Ted Dennison" <dennison@telepath.com> wrote in message
news:zVXd7.109$2u.23585@www.newsranger.com...
> It frees you from that problem in *some* cases. I find that most of the
time I
> don't change the string, so I can declare it perfectly sized. When you do
that,
> you are not storing the length explicitly, but rather implicitly in the
array
> bounds. As others have mentioned, you also don't have to iterate through
every
> valid data element to derive this piece of implicit information like you
do with
> C. Thus perfectly-sized Ada strings give you the best of both worlds.
>
> Unfortunately, the most notable exception to this is in reading data from
> Text_IO, which is also one of the first things a newbie will want to do
with Ada
> strings. :-(
>






  parent reply	other threads:[~2001-08-14 13:22 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-03  4:16 Ada Idioms Progress Preview James Rogers
2001-08-03 19:45 ` Robert Dewar
2001-08-03 22:02   ` James Rogers
2001-08-06 22:33   ` Stanley R. Allen
2001-08-07  2:45     ` tmoran
2001-08-07 12:15       ` Larry Kilgallen
2001-08-07 13:26         ` Philip Anderson
2001-08-08  2:23         ` Robert Dewar
2001-08-08  5:58           ` Ehud Lamm
2001-08-08  2:19       ` Robert Dewar
2001-08-08 15:13         ` Ted Dennison
2001-08-08 18:03           ` tmoran
2001-08-09 20:36           ` Florian Weimer
2001-08-10 21:02         ` Jay Nabonne
2001-08-10 21:51           ` Larry Kilgallen
2001-08-13 14:19             ` Ted Dennison
2001-08-13 14:05           ` Ted Dennison
2001-08-13 14:19             ` Marin David Condic
2001-08-13 15:47             ` Ole-Hjalmar Kristensen
2001-08-13 16:22               ` Marin David Condic
2001-08-13 18:48               ` Larry Kilgallen
2001-08-14  7:05                 ` Ole-Hjalmar Kristensen
2001-08-13 20:20               ` James Rogers
2001-08-14  1:09                 ` Warren W. Gay VE3WWG
2001-08-14  6:15                   ` James Rogers
2001-08-14 14:03                     ` Warren W. Gay VE3WWG
2001-08-21  5:54                   ` C strings, was " David Thompson
2001-08-16 18:42                 ` Jay Nabonne
2001-08-17  1:25                   ` Robert Dewar
2001-08-13 21:47               ` Ted Dennison
2001-08-14  7:37                 ` Ole-Hjalmar Kristensen
2001-08-14 14:59                   ` Ted Dennison
2001-08-14 13:22                 ` Marin David Condic [this message]
2001-08-14 15:12                   ` Ted Dennison
2001-08-14 15:33                     ` Marin David Condic
2001-08-14  8:49               ` Lutz Donnerhacke
2001-08-14  9:38                 ` Ole-Hjalmar Kristensen
2001-08-14  9:54                   ` Lutz Donnerhacke
2001-08-14 14:51                     ` James Rogers
2001-08-14 16:44                   ` Darren New
2001-08-14  1:39             ` Slicing ( Ada Idioms Progress Preview ) Warren W. Gay VE3WWG
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox