Multiple return values...
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Fri Mar 16 09:51:51 PDT 2012
On 3/16/12 3:48 AM, Iain Buclaw wrote:
> This could also be done for arrays too.
>
> (int a, b) = arr[];
>
> ----->
>
> static assert(arr.length == 2);
> int a = arr[0];
> int b = arr[1];
Yah, the rewrite is purely syntactic, not tuple-specific. That's a major
thing I like about it.
> Or possibly a use in variadic templates, which could make D act more
> like how some scripting languages work.
>
> void conn(T ...)(T args) {
> // vars get default init if value wasn't passed to function.
> (string server, port, username, password) = args[];
> }
I fear this is a bit error-prone.
Andrei
More information about the Digitalmars-d
mailing list