comp.lang.ada
 help / color / mirror / Atom feed
From: "Matthew Heaney" <mheaney@on2.com>
Subject: Re: functions, packages & characters
Date: Fri, 22 Feb 2002 20:08:06 -0500
Date: 2002-02-22T20:08:06-05:00	[thread overview]
Message-ID: <u7klg71p11cfb4@corp.supernews.com> (raw)
In-Reply-To: a55hpd$4cp$1@nh.pace.co.uk


"Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org> wrote in
message news:a55hpd$4cp$1@nh.pace.co.uk...
> 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?

declare
   function Get_Line return String is
      Line : String (1 .. 80 + 1);
      Last : Natural;
   begin
      Text_IO.Get_Line (Line, Last);
      if Last < Line'Last then
        return Line (Line'First .. Last);
      else
         return Line & Get_Line;
      end if;
   end Get_Line;

   Line : constant String := Get_Line;
begin
   Put_Line (Line);
end;


> 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.

I showed this in my last post.


> Speed may be an issue, but with a reasonably large buffer, I don't think
it
> would be unacceptably slow. Why would you have to read it one character at
a
> time?

No, you don't have to read one character at a time, as is shown above.






  reply	other threads:[~2002-02-23  1:08 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 [this message]
2002-02-23  2:03         ` Jeffrey Carter
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