comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca>
Subject: Re: Get_Line
Date: Thu, 31 Oct 2002 12:39:03 -0500
Date: 2002-10-31T12:39:03-05:00	[thread overview]
Message-ID: <3DC16AB7.7080905@cogeco.ca> (raw)
In-Reply-To: wccd6prv3mk.fsf@shell01.TheWorld.com


Robert A Duff wrote:
> "Chad R. Meiners" <crmeiners@hotmail.com> writes:
> 
> 
>>"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
>>news:wcc3cqn35wu.fsf@shell01.TheWorld.com...
>>
>>>But isn't the *real* problem that the design of Text_IO is broken?  For
>>>example, why is there no Get_Line function:
>>>
>>>    function Get_Line(...) return String;
>>>
>>>that returns the entire contents of the next line, no matter how long it
>>>is, and without fussing about with fixed-length (i.e. wrong length!)
>>>buffers?
>>
>>I wouldn't say broken.
> 
> 
> Why not, given that beginners have trouble with all that buffer
> management?  In fact, so do experts!  How does one choose the correct
> buffer size?
> 
> Whether or not you like my Get_Line idea, surely you must admit that
> beginners and experts are troubled by the current Text_IO interface.
> 
> 
>>...  Do you really want Ada.Text_IO to contain functions
>>with side-effects?

I would say no -- at least as much as is practical.

Consider a different interface:

with Ada.Strings.Unbounded;

...

    declare
       use Ada.Strings.Unbounded;
       Line : Unbounded_String;
    begin
       ...
       Get_Line(F,Line);  -- Non-standard Get_Line() here

Here Line can be returned as short or as long as required.  If you
later want a "native string", then add:

       declare
          S : String := To_String(Line);
       begin
          ...

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




  parent reply	other threads:[~2002-10-31 17:39 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-29 20:24 Get_Line Justin Birtwell
2002-10-29 20:55 ` Get_Line David C. Hoos
2002-10-30  1:30 ` Get_Line Jeffrey Carter
2002-10-30 13:33   ` Get_Line Justin Birtwell
2002-10-30 14:40     ` Get_Line Preben Randhol
2002-10-30 17:09     ` Get_Line Jean-Pierre Rosen
2002-10-30 18:08     ` Get_Line Jeffrey Carter
2002-10-30 22:42       ` Get_Line Robert A Duff
2002-10-31  0:26         ` Get_Line Chad R. Meiners
2002-10-31  0:44           ` Get_Line Robert A Duff
2002-10-31 10:32             ` Get_Line John English
2002-10-31 11:30               ` Get_Line Preben Randhol
2002-10-31 13:10                 ` Get_Line John English
2002-10-31 17:39             ` Warren W. Gay VE3WWG [this message]
2002-10-31 21:46             ` Get_Line Chad R. Meiners
2002-11-01 16:59               ` Get_Line Robert A Duff
2002-11-01 21:04                 ` Get_Line Chad R. Meiners
2002-11-01 23:32                   ` Get_Line Matthew Heaney
2002-11-02  0:28                     ` Get_Line Chad R. Meiners
2002-10-31  8:53       ` Get_Line Preben Randhol
2002-10-31 18:04         ` Get_Line Jeffrey Carter
2002-11-01 11:18           ` Get_Line Preben Randhol
2002-10-30 14:44 ` Get_Line Preben Randhol
2002-10-31 21:55 ` Get_Line Matthew Heaney
  -- strict thread matches above, loose matches on Subject: below --
1999-07-02  0:00 GET LINE babefan
1999-07-02  0:00 ` czgrr
1998-06-05  0:00 get_line Steve Dyrdahl
1998-06-05  0:00 ` get_line Samuel Mize
1998-06-17  0:00   ` get_line Hans Marqvardsen
1998-06-18  0:00     ` get_line John McCabe
1998-06-21  0:00       ` get_line Robert Dewar
1998-06-06  0:00 ` get_line Dale Stanbrough
1998-06-06  0:00   ` get_line Matthew Heaney
1998-06-07  0:00     ` get_line Dale Stanbrough
1998-06-06  0:00       ` get_line Matthew Heaney
1998-06-18  0:00     ` get_line Robert I. Eachus
1998-06-06  0:00   ` get_line Robert Dewar
replies disabled

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