What is the stance on partial initializers when declaring multiplevariables of the same type?
kenji hara
k.hara.pg at gmail.com
Fri Jul 22 02:43:10 PDT 2011
2011/7/22 Andrei Alexandrescu <SeeWebsiteForEmail at erdani.org>:
> On 7/21/11 7:06 PM, Jonathan M Davis wrote:
>>
>> On 2011-07-21 16:54, Andrei Alexandrescu wrote:
>>>
>>> On 7/21/11 6:44 PM, Simen Kjaeraas wrote:
>>>>
>>>> On Thu, 21 Jul 2011 23:40:08 +0200, bearophile
>>>>
>>>> <bearophileHUGS at lycos.com> wrote:
>>>>>
>>>>> Nick Sabalausky:
>>>>>>
>>>>>> Crazy, nutty, wacky idea...
>>>>>>
>>>>>> float (a, b, c) = 0.0;
>>>>>
>>>>> I'd like some syntax sugar for tuples in D (especially for their
>>>>> unpacking), that syntax goes against one of the most natural ways to
>>>>> define tuples. So it's not a good idea.
>>>>
>>>> It is highly unlikely that D will ever adopt that syntax for tuples,
>>>> due to the previously much-discussed comma operator (which, while
>>>> uncommon, is useful at times). I believe the syntax that came out on
>>>> top in earlier discussions was the upended hamburger bun, or banana
>>>> syntax:
>>>>
>>>> (| float f, string s |) foo = (| 1.2, "Eh, whut?" |);
>>>
>>> Here's a crazy idea:
>>>
>>> auto foo = tuple(1.2, "Eh, whut?");
>>
>> Is this particular case, a built-in syntax buys you nothing, as you
>> demonstrate. I think that the case that Bearophile is always looking for
>> is
>> something like this:
>>
>> int i;
>> float f;
>>
>> (i, f) = tuple(5, 2.2);
>
> scatter(tuple(5, 2.2), i, f);
>
> The more difficult construct is:
>
> auto (i, f) = tuple(5, 2.2);
>
> Walter and I discussed a language change to allow that.
>
>
> Andrei
>
>
I have posted a pull request for expanding alias this tuples somewhere.
https://github.com/D-Programming-Language/dmd/pull/74
I think that this patch will make conversion seamlessly from built-in
tuple to library tuple.
> auto (i, f) = tuple(5, 2.2);
> Walter and I discussed a language change to allow that.
I'd like to make patch supporting it.
Kenji Hara
More information about the Digitalmars-d
mailing list