Super-dee-duper D features
Kirk McDonald
kirklin.mcdonald at gmail.com
Tue Feb 13 13:16:45 PST 2007
Sean Kelly wrote:
> Derek Parnell wrote:
>
>> On Tue, 13 Feb 2007 17:39:46 +0100, Frits van Bommel wrote:
>>
>>> Andrei Alexandrescu (See Website For Email) wrote:
>>>
>>>> Bill Baxter wrote:
>>>>
>>>>> Yeh, I don't get it either. How would that help me implement
>>>>> merge() from merge sort for instance?
>>>>
>>>> Merge bumps the iteration in both collections conditionally. The
>>>> form above bumps the iteration in the two collections
>>>> unconditionally, until one is finished; then it continues with the
>>>> other until that is finished.
>>>
>>> In other words, it doesn't :(.
>>
>>
>> I imaging that the full syntax will also include this form ...
>>
>> foreach (int x, i ; coll1) (int y, j ; coll2) {
>> ... use i and j ...
>> if (somecondition)
>> x = ... // To set the index back or forward to some
>> // arbitary point in the array 'coll1'.
>> }
>
>
> This currently works for built-in arrays but not for user-defined types.
> Also, I think the fact that it works as all is the result of an
> implementation detail, not spec-defined behavior.
>
>
> Sean
There's no reason a user-defined type couldn't implement this.
--
Kirk McDonald
http://kirkmcdonald.blogspot.com
Pyd: Connecting D and Python
http://pyd.dsource.org
More information about the Digitalmars-d
mailing list