comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <jrcarter@acm.org>
Subject: Re: functions, packages & characters
Date: Sat, 23 Feb 2002 02:03:13 GMT
Date: 2002-02-23T02:03:13+00:00	[thread overview]
Message-ID: <3C76F847.3C242292@acm.org> (raw)
In-Reply-To: a55hpd$4cp$1@nh.pace.co.uk

Marin David Condic wrote:
> 
> Wait a minute...... I seem to recall a nifty example of how you could return
> an arbitrary length string from a function that used Get/Get_Line (?) and
> recursed in the event that the line was longer than the buffer. It might be
> in a code example somewhere like on AdaPower? If you can do that, why not a
> similar subprogram for Unbounded_String? It would be even easier and not
> require recursion since you could just keep reading some arbitrary sized
> buffer in a loop and appending it to an Unbounded_String that is returned to
> the caller.

Such as function PragmARC.Get_Line? It uses a String of only 100
characters, yet still avoids recursion in most applications. A procedure
that built a result in a mode in out [Un]Bounded_String parameter is
perfectly doable would not need to be recursive. But the point of a
Get_Line function, which dates from the days of Ada 83 (see
"Variable-Length String Input in Ada" by J. Carter in ADA LETTERS, 1989
May/Jun), is that you rarely need a variable string abstraction in Ada
if you really understand how to use one-dimensional arrays in Ada.

-- 
Jeff Carter
"You cheesy lot of second-hand electric donkey-bottom biters."
Monty Python & the Holy Grail



  parent reply	other threads:[~2002-02-23  2:03 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-21  8:59 functions, packages & characters Christoph Grein
2002-02-21 18:07 ` Unversed Angel
2002-02-21 18:28   ` Hyman Rosen
2002-02-21 23:44     ` Randy Brukardt
2002-02-22  0:37       ` Matthew Heaney
2002-02-22  1:12         ` Matthew Heaney
2002-02-22  2:57         ` Randy Brukardt
2002-02-22 13:54           ` Marin David Condic
2002-02-23  1:10             ` Matthew Heaney
2002-02-25 15:47               ` Marin David Condic
2002-02-26 15:58                 ` Matthew Heaney
2002-02-25 19:37             ` Randy Brukardt
2002-02-25 20:49               ` Marin David Condic
2002-02-26  3:30               ` David Starner
2002-02-26 15:44                 ` Hyman Rosen
2002-02-26 21:43                   ` David Starner
2002-02-27  6:32                     ` Hyman Rosen
2002-02-28  3:55                       ` Chad R. Meiners
2002-02-28 18:44                         ` Hyman Rosen
2002-03-02  3:25                           ` Chad R. Meiners
2002-03-03  8:22                             ` Hyman Rosen
2002-03-03 17:50                               ` Chad R. Meiners
2002-03-01  2:08                         ` David Starner
2002-03-05 14:36                       ` Marin David Condic
2002-02-26  7:42               ` tmoran
2002-02-22 15:34           ` Matthew Heaney
2002-02-22  2:47       ` Jeffrey Carter
2002-02-22 13:41       ` Marin David Condic
2002-02-23  1:08         ` Matthew Heaney
2002-02-23  2:03         ` Jeffrey Carter [this message]
2002-02-22 16:27       ` Hyman Rosen
2002-02-21 23:49     ` unversedangel
2002-02-21 22:48   ` unversedangel
2002-02-21 23:14     ` Hyman Rosen
2002-02-22 14:11     ` Marin David Condic
  -- strict thread matches above, loose matches on Subject: below --
2002-02-21  0:16 Unversed Angel
2002-02-21  0:37 ` tmoran
2002-02-21  1:13   ` Unversed Angel
2002-02-21  2:53     ` tmoran
2002-02-21  8:25       ` Unversed Angel
2002-02-21 13:47         ` Marin David Condic
2002-02-22  0:22         ` tmoran
replies disabled

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