Groups | Search | Server Info | Login | Register


Groups > comp.lang.java.programmer > #5185

Re: Call by Result

From markspace <-@.>
Newsgroups comp.lang.java.programmer
Subject Re: Call by Result
Date 2011-06-10 08:43 -0700
Organization A noiseless patient Spider
Message-ID <iste3e$68k$1@dont-email.me> (permalink)
References <nkc3v61jg7i21l7n482ce561dq9fdogg3m@4ax.com>

Show all headers | View raw


On 6/9/2011 11:03 PM, Gene Wirchenko wrote:
> Dear Java'ers:
>
>       I wish to call by result with a method.  Is it possible?  If not,
> can it be easily simulated in an unnasty way?
>
>       I am writing a simple preprocessor.  I have a few spots where a
> string needs to be parsed.  I want to call something like this:
>            String ReturnString="";
>            boolean DidItWork=GetString(ReturnString);
>            if (!DidItWork)
>               // too bad
> It is not acceptable to have a special String value mean failure.  I
> want the method to be able to return any potential string.


I'm kind of surprised by all the answers here also.  I'm glad Stefan 
pointed out the definition of "call by result," which I also did not know.

However call-by-result is just a use case of pass-by-reference, so why 
not use that?  In Java the standard quicky semantic is to use an array.

   String[] returnString = new String[1];  // just 1 return string
   boolean didItWork = GetString( returnString );
   if( didItWork ) {
     String result = returnString[0];
     .... process result here
   } else {
     .... too bad
   }

returnString is just a holder, as was mentioned earlier, but temporary 
arrays are often used for pass by reference in Java (which only has pass 
by value), so any programmer is likely to grasp what is going on here 
quickly.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-09 23:03 -0700
  Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 07:33 +0000
    Re: Call by Result Nigel Wade <nmw-news@ion.le.ac.uk> - 2011-06-10 10:03 +0100
      Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 09:47 +0000
      Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-10 08:23 -0300
        Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 13:12 +0000
          Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-10 15:44 -0300
            Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-12 16:29 +0000
              Re: Call by Result Silvio <silvio@moc.com> - 2011-06-12 23:00 +0200
                Re: Call by Result Silvio <silvio@moc.com> - 2011-06-12 23:06 +0200
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-14 10:52 +0000
                Re: Call by Result Silvio <silvio@moc.com> - 2011-06-14 17:13 +0200
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-14 17:58 -0300
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-14 21:18 +0000
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-14 20:14 -0300
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-15 07:13 -0300
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-15 12:50 +0000
                Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-15 18:52 -0300
                Re: Call by Result lewbloch <lewbloch@gmail.com> - 2011-06-15 07:06 -0700
                Re: Call by Result Michael Wojcik <mwojcik@newsguy.com> - 2011-06-15 21:33 -0400
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-16 11:03 +0000
                Re: Call by Result "H.J. Sander Bruggink" <sander.bruggink@uni-due.de> - 2011-06-16 13:09 +0200
                Re: Call by Result Lewis Bloch <lewisbloch@google.com> - 2011-06-16 06:59 -0700
                Re: Call by Result "John B. Matthews" <nospam@nospam.invalid> - 2011-06-16 23:14 -0400
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:31 -0700
          Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-12 14:27 -0300
      Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-10 07:20 -0700
      Re: Call by Result Patricia Shanahan <pats@acm.org> - 2011-06-10 09:30 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:44 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:26 -0700
      Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-11 15:07 +0000
        Re: Call by Result Abu Yahya <abu_yahya@invalid.com> - 2011-06-11 23:00 +0530
          Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-11 19:36 +0000
            Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-11 21:06 +0000
              Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-12 10:53 +0000
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-12 09:28 -0700
                Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-12 17:48 +0000
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-12 13:19 -0700
            Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-11 15:39 -0700
              Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-12 11:07 +0000
                Re: Call by Result markspace <-@.> - 2011-06-12 07:02 -0700
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-12 09:39 -0700
                Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-14 10:29 +0000
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-14 09:14 -0700
                Re: Call by Result markspace <-@.> - 2011-06-14 09:21 -0700
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-14 09:53 -0700
                Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-14 09:57 -0700
            Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:44 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:40 -0700
  Re: Call by Result Patricia Shanahan <pats@acm.org> - 2011-06-10 01:30 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:45 -0700
  Re: Call by Result Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-06-10 07:50 -0400
  Re: Call by Result Silvio <silvio@moc.com> - 2011-06-10 15:35 +0200
  Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-10 13:56 +0000
  Re: Call by Result Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-06-10 07:22 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:56 -0700
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:57 -0700
      Re: Call by Result Patricia Shanahan <pats@acm.org> - 2011-06-10 13:50 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:53 -0700
          Re: Call by Result Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-06-13 07:20 -0300
            Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-13 08:08 -0700
      Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-11 16:35 -0700
        Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-12 11:05 +0000
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:56 -0700
          Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-14 00:40 -0700
    Re: Call by Result Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-06-11 21:18 +0000
  Re: Call by Result markspace <-@.> - 2011-06-10 08:43 -0700
  Re: Call by Result RedGrittyBrick <RedGrittyBrick@spamweary.invalid> - 2011-06-10 17:01 +0100
    Re: Call by Result Martin Gregorie <martin@address-in-sig.invalid> - 2011-06-10 16:55 +0000
    Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:59 -0700
      Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-11 16:24 -0700
        Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-12 21:59 -0700
          Re: Call by Result Paul Cager <paul.cager@googlemail.com> - 2011-06-13 07:53 -0700
          Re: Call by Result Wojtek <nowhere@a.com> - 2011-06-14 00:43 -0700
  Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-10 11:55 -0700
  Re: Call by Result Steven Simpson <ss@domain.invalid> - 2011-06-11 09:09 +0100
  Re: Call by Result Cholo Lennon <chololennon@hotmail.com> - 2011-06-16 11:30 -0300
    Re: Call by Result Paul Cager <paul.cager@googlemail.com> - 2011-06-17 02:38 -0700
      Re: Call by Result Gene Wirchenko <genew@ocis.net> - 2011-06-17 12:06 -0700
    Re: Call by Result lewbloch <lewbloch@gmail.com> - 2011-06-17 06:40 -0700
      Re: Call by Result Cholo Lennon <chololennon@hotmail.com> - 2011-06-17 11:43 -0300

csiph-web