comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Out parameters in a function
Date: Tue, 16 Apr 2002 12:05:01 +0200
Date: 2002-04-16T12:05:01+02:00	[thread overview]
Message-ID: <kssnbugqbs862fkhbfduonhhlaricg4np6@4ax.com> (raw)
In-Reply-To: 3cbbe583.3628858@news.demon.co.uk

On Tue, 16 Apr 2002 08:49:44 GMT, john.mccabe@emrad.ns.com (John
McCabe) wrote:

>On 15 Apr 2002 08:09:24 -0700, dennison@telepath.com (Ted Dennison)
>wrote:
>
>>"Nazgul" <darkelf@aim.homelinux.com> wrote in message news:<a9chqr$23e76$1@ID-107015.news.dfncis.de>...
>>> function ReadChar(f: File; c: out character) return boolean;
>>> 
>>> The function must return a boolean, so the only way to read the character is
>>> via the 'c' parameter. In other context, I use
>>...
>>> Is there any way of using c as an output parameter?
>>
>>No. In Ada functions take multiple "in" parameters, and return only
>>one value via the "return" machanisim. If you have multiple values you
>>need to return, you should be using a procedure, not a function.
>
>Unfortunate that they didn't follow the Occam example of having a
>function capable of returning multiple values!

Let they do. I.e. let a function return an object of anonymous record
type which components are returned values:

function Match_Pattern (..) return
   record
      Place : Position;
      Matched : String;
   end record;

How could we use such object? It does not well fit in a language with
named parameter association and very limited possibilities of matching
types by structure. IMO out parameters make more sense.

---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



  reply	other threads:[~2002-04-16 10:05 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-14 18:29 Out parameters in a function Nazgul
2002-04-14 19:45 ` David C. Hoos, Sr.
2002-04-15 10:49 ` John McCabe
2002-04-15 11:51   ` John McCabe
2002-04-15 13:43 ` Steve Doiel
2002-04-15 15:09 ` Ted Dennison
2002-04-16  8:49   ` John McCabe
2002-04-16 10:05     ` Dmitry A. Kazakov [this message]
2002-04-16 15:26       ` John McCabe
2002-04-16 19:34         ` Matthew Woodcraft
2002-04-16 20:10           ` Darren New
2002-04-17  1:30             ` Kent Paul Dolan
2002-04-17 16:15               ` Darren New
2002-04-19 17:39               ` Florian Weimer
2002-04-17 13:24             ` Stephen Leake
2002-04-17 16:32               ` Darren New
2002-04-17 21:03               ` Kent Paul Dolan
2002-04-18 12:14             ` Wolfgang Gellerich
2002-04-18 13:52               ` Dmitry A. Kazakov
2002-04-18 16:28                 ` Darren New
2002-04-17 10:17           ` John McCabe
2002-04-16 19:58         ` Kent Paul Dolan
2002-04-16 20:00         ` Kent Paul Dolan
2002-04-17  4:40           ` Jim Rogers
2002-04-17  5:27             ` Kent Paul Dolan
2002-04-17  5:50             ` Eric G. Miller
2002-04-24  2:45               ` David Thompson
2002-04-19 17:40             ` Florian Weimer
2002-04-19 18:26               ` Jim Rogers
2002-04-19 18:53                 ` Florian Weimer
2002-04-17  7:57           ` Dmitry A. Kazakov
2002-04-17 10:21             ` John McCabe
2002-04-24 17:21             ` Warren W. Gay VE3WWG
2002-04-26  7:32               ` Dmitry A. Kazakov
2002-04-15 16:24 ` Stephen Leake
2002-04-16 13:38   ` Ted Dennison
2002-04-17 11:55 ` Ingo Marks
replies disabled

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