Declaring Ref Variables Inside Function Calls
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Tue Mar 31 12:18:21 PDT 2009
Jarrett Billingsley wrote:
> On Tue, Mar 31, 2009 at 1:32 PM, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>> Jarrett Billingsley wrote:
>>> 2009/3/30 dsimcha <dsimcha at yahoo.com>:
>>>> // How it works now:
>>>> uint foo;
>>>> string bar;
>>>> unpack(foo, bar) = someFunction();
>>>>
>>>> // vs. how I want it to work:
>>>> unpack(auto foo, auto bar) = someFunction();
>>> Cute, but uh, I'd much rather see tuples just be returnable.
>> They are.
>
> template Tuple(T...)
> {
> alias T Tuple;
> }
>
> Tuple!(int, float) foo()
> {
> return Tuple!(3, 4.5);
> }
>
> foo.d(10): Error: functions cannot return a tuple
>
> Unless you're using some prerelease compiler, they are not.
import std.typecons;
Tuple!(int, float) foo()
{
return tuple(2, 4.5);
}
The addition of the alias this feature and of constructor templates
makes std.typecons.Tuple even better.
Andrei
More information about the Digitalmars-d
mailing list