Case Range Statement ..
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Tue Jul 7 14:14:40 PDT 2009
Jarrett Billingsley wrote:
> On Tue, Jul 7, 2009 at 4:15 PM, Andrei
> Alexandrescu<SeeWebsiteForEmail at erdani.org> wrote:
>> Jarrett Billingsley wrote:
>>> On Tue, Jul 7, 2009 at 3:49 PM, Jarrett
>>> Billingsley<jarrett.billingsley at gmail.com> wrote:
>>>> On Tue, Jul 7, 2009 at 3:38 PM, Walter
>>>> Bright<newshound1 at digitalmars.com> wrote:
>>>>> Nick Sabalausky wrote:
>>>>>> Someone else said it's also an expression that evaluates to
>>>>>> 3, but that seems beyond useless to me.
>>>>> It's handy when you want to prefix one expression to another,
>>>>> as in:
>>>>>
>>>>> (foo(), x + 3)
>>>> Cause you want to do that so often, after all.
>>>>
>>>> *snort*
>>> A more constructive reply: tuuuuples. TUPLES. Returning them!
>>> Using them as first-class values! Yes.
>> Just prepend "tuple" and you're home at a low price.
>
> I can't return tuples. I have to wrap them in a struct.
Yes, the struct is called Tuple and is present in std.typecons. There's
also a function called tuple() that returns a Tuple with deduced
parameters. Try it!
> If I do that, then I can't index the struct as if it were a real
> tuple. Okay, then I use 'alias this', and I end up with this struct
> that exists for no purpose other than to get around a silly
> limitation in the type system.
Alias this has vastly more applications. Tuple has alias this commented
out because there are related bugs in the compiler that I didn't get to.
> Well, geez! Why not just make tuples first-class?
That would be a fish. We want to learn fishing.
Andrei
More information about the Digitalmars-d
mailing list