[ nice-Feature Requests-1124210 ] let (x,y) = ...
"SourceForge.net" <[email protected]> Wed, 23 Feb 2005 06:39:33 -0800
| Newsgroups | gmane.comp.lang.nice.devel |
|---|---|
| Message-ID | <[email protected]> |
Feature Requests item #1124210, was opened at 2005-02-16 20:16
Message generated for change (Comment added) made by bonniot
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=362788&aid=1124210&group_id=12788
Category: None
Group: None
Status: Open
Priority: 5
Submitted By: Peter Wilson (peterwilson)
Assigned to: Nobody/Anonymous (nobody)
>Summary: let (x,y) = ...
Initial Comment:
Make access to tupple contents easier. I believe Groovy
has this feature:
Taken from manual.html:Example 7.2. Method returning
several values using a tuple
#1 usage improvement: allow local variables on tupple
returns:
declaration:
(int, int) minMax(int x, int y) = x < y ? (x, y) : (y, x);
use:
(x, y) = minMax(3,5); // not very convincing for this
function.
println("(" + x + ", " + y + ")");
#2 usage improvement: allow local variables on tupple
arguments:
void printTuple((int x, int y) tuple)
{
// /** Declare two local variables, and assign to each
the //corresponding value
// in the tuple.
// */
// (int x, int y) = tuple;
println("(" + x + ", " + y + ")");
}
----------------------------------------------------------------------
>Comment By: Daniel Bonniot (bonniot)
Date: 2005-02-23 15:39
Message:
Logged In: YES
user_id=88952
OK, I updated the manual accordingly.
I leave this report open, as I believe it would be useful to
support the 'let (x,y) = ...' syntax.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2005-02-22 21:11
Message:
Logged In: NO
My misunderstanding. - From your reply, the current usage
is fine.
However, example 7.2 in the User's Manual is misleading as
it fails to use feature #2. It should be updated, or shown
as an alternative.
----------------------------------------------------------------------
Comment By: Daniel Bonniot (bonniot)
Date: 2005-02-22 18:15
Message:
Logged In: YES
user_id=88952
I'd like to ask for some clarifications:
For #1:
You can already do
(x, y) = minMax(3,5);
provided that x and y are previously declared. You can also
declared them at that spot with:
(int x, int y) = minMax(3,5);
Is that you want to be able to declare them without
specifying the type? I believe this could be useful, but a
specific syntax should be used to make that clear.
Consistently, this should be
let (x, y) = minMax(3,5);
and
var (x, y) = minMax(3,5);
for constant and variables, respectively.
Does this correspond to what you expected?
For #2:
Unless I'm mistaken, what you are asking for is already
possible:
void printTuple((int x, int y) tuple)
You can even leave the name 'tuple' out since it is not used:
void printTuple((int x, int y))
Is that so? Is this missing from the documentation?
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=362788&aid=1124210&group_id=12788
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click