DIP19: Remove comma operator from D and provision better syntactic support for tuples
deadalnix
deadalnix at gmail.com
Tue Sep 25 03:05:35 PDT 2012
Le 25/09/2012 03:19, ixid a écrit :
> What would a special case where the first level of tuple (with higher
> levels being tuples in tuples) didn't require parens break? This would
> be a beautiful syntax:
>
> auto a = 1, 2; // A tuple of two ints
>
> int, string fun(double, double d) {
> return cast(int) (d[0] * d[1]), "hello";
> }
>
> auto a, b = 1, 2; // Two ints
> auto a = fun(1.0, 1.0); // Tuple of 1 and "hello".
> auto a, b = fun(1.0, 1.0); // An int and a string.
>
It can get pretty confusing with , separated declarations :
int a, b = 3;
or worse :
int a, int b = foo();
-->
(int a, int b) = foo();
or
int a, (int b = foo());
and it gets worse with int a, auto b = foo();
But I do agree that this is really nice in many places.
More information about the Digitalmars-d
mailing list