From: Mats Weber <Mats.Weber@elca-matrix.ch>
Subject: Re: Reading a line of arbitrary length
Date: 1997/02/14
Date: 1997-02-14T00:00:00+00:00 [thread overview]
Message-ID: <3304839D.1B4@elca-matrix.ch> (raw)
In-Reply-To: dsmith-1302971702290001@dsmith.clark.net
> Longest_Guess : Natural := 40;
You can't do this ! This global variable makes your code unusable with
tasks.
> function Get_Line return String is
> Buffer : String (1 .. Longest_Guess);
> Last : Natural;
> begin
> Ada.Text_IO.Get_Line (Buffer, Last);
>
> if Last = Buffer'Last then
> Longest_Guess := Longest_Guess + Longest_Guess/2; -- 1.5x
> return Buffer & Get_Line;
> else
> return Buffer(1..Last);
> end if;
> end Get_Line;
I would change it to:
function Get_Line (Longest_Guess : Positive) return String is
Buffer : String (1 .. Longest_Guess);
Last : Natural;
begin
Ada.Text_IO.Get_Line (Buffer, Last);
if Last = Buffer'Last then
return Buffer &
Get_Line
(Longuest_Guess => Longest_Guess + Longest_Guess/2);
else
return Buffer(1..Last);
end if;
end Get_Line;
function Get_Line return String is
begin
return Get_Line(Longuest_Guess => 40);
end;
next prev parent reply other threads:[~1997-02-14 0:00 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-02-12 0:00 Reading a line of arbitrary length Thomas Koenig
1997-02-12 0:00 ` Robert Dewar
1997-02-12 0:00 ` David C. Hoos, Sr.
1997-02-13 0:00 ` Jeff Carter
1997-02-13 0:00 ` Ted Dennison
1997-02-13 0:00 ` Rex Reges
1997-02-15 0:00 ` Matthew Heaney
1997-02-13 0:00 ` Larry Kilgallen
1997-02-13 0:00 ` Geert Bosch
1997-02-19 0:00 ` Jean-Etienne Doucet
1997-02-21 0:00 ` Mats Weber
1997-02-22 0:00 ` Robert Dewar
1997-02-24 0:00 ` Robert Dewar
1997-02-13 0:00 ` Rex Reges
[not found] ` <dewar.855848896@merv>
[not found] ` <dsmith-1302971702290001@dsmith.clark.net>
1997-02-14 0:00 ` Mats Weber [this message]
[not found] ` <33047186.463F@mds.lmco.com>
1997-02-14 0:00 ` Robert Dewar
[not found] ` <33037A74.44AF@mds.lmco.com>
1997-02-14 0:00 ` Mats Weber
1997-02-15 0:00 ` Robert Dewar
1997-02-17 0:00 ` Mats Weber
1997-02-17 0:00 ` Robert Dewar
[not found] ` <dewar.855929857@merv>
1997-02-14 0:00 ` Rex Reges
1997-02-14 0:00 ` Gene Ouye
1997-02-15 0:00 ` Robert Dewar
1997-02-15 0:00 ` Brian Rogoff
1997-02-15 0:00 ` Robert Dewar
1997-02-16 0:00 ` Brian Rogoff
1997-02-17 0:00 ` Robert Dewar
1997-02-16 0:00 ` Jon S Anthony
1997-02-18 0:00 ` Robert Dewar
1997-02-22 0:00 ` Jon S Anthony
1997-02-21 0:00 ` Brian Rogoff
1997-02-22 0:00 ` Robert Dewar
1997-02-22 0:00 ` Brian Rogoff
1997-02-23 0:00 ` Robert Dewar
1997-02-25 0:00 ` Jon S Anthony
1997-02-26 0:00 ` Robert Dewar
1997-02-27 0:00 ` Jon S Anthony
1997-03-02 0:00 ` Robert Dewar
1997-03-03 0:00 ` Fergus Henderson
1997-03-03 0:00 ` Robert Dewar
1997-03-03 0:00 ` Larry Kilgallen
1997-03-04 0:00 ` Fergus Henderson
1997-03-05 0:00 ` Jon S Anthony
1997-03-02 0:00 ` Robert Dewar
1997-03-03 0:00 ` Jon S Anthony
1997-03-03 0:00 ` Jon S Anthony
1997-03-03 0:00 ` Jon S Anthony
1997-03-03 0:00 ` Robert Dewar
1997-03-03 0:00 ` Jon S Anthony
1997-03-03 0:00 ` Robert Dewar
1997-03-04 0:00 ` Thomas Koenig
1997-03-05 0:00 ` Larry Kilgallen
1997-03-06 0:00 ` Robert Dewar
1997-03-06 0:00 ` Robert Dewar
[not found] ` <dewar.857447653@m <JSA.97Mar4154951@alexandria>
1997-03-05 0:00 ` Robert A Duff
1997-03-05 0:00 ` Jon S Anthony
1997-03-06 0:00 ` Robert A Duff
1997-03-06 0:00 ` Robert Dewar
1997-03-04 0:00 ` Jon S Anthony
1997-03-05 0:00 ` Larry Kilgallen
1997-03-06 0:00 ` Fergus Henderson
1997-03-06 0:00 ` Really more GC talk (was: Reading a line of arbitrary length) Larry Kilgallen
1997-03-11 0:00 ` Fergus Henderson
1997-03-11 0:00 ` Robert Dewar
1997-03-12 0:00 ` Fergus Henderson
1997-03-04 0:00 ` Reading a line of arbitrary length Jon S Anthony
1997-03-05 0:00 ` Jon S Anthony
1997-02-16 0:00 ` Matthew Heaney
1997-02-16 0:00 ` Robert Dewar
1997-02-16 0:00 ` Matthew Heaney
1997-02-17 0:00 ` Robert Dewar
1997-02-25 0:00 ` Jon S Anthony
1997-03-04 0:00 ` Fergus Henderson
1997-03-05 0:00 ` Richard A. O'Keefe
1997-03-06 0:00 ` Fergus Henderson
1997-03-06 0:00 ` Robert Dewar
1997-03-11 0:00 ` Fergus Henderson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox