Example from d-idioms is incorrect

TheGag96 via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Apr 30 15:09:04 PDT 2015


On Thursday, 30 April 2015 at 22:01:43 UTC, Justin Whear wrote:
> On Thu, 30 Apr 2015 21:30:34 +0000, TheGag96 wrote:
>> Was the behavior of the remove() function changed recently? 
>> Thanks guys.
>
> I believe remove has always worked this way.  What you're 
> seeing is
> explained by this note in the documentation for remove:
>
>> The original array has remained of the same length because all
>> functions in std.algorithm only change content, not topology. 
>> The value 8 is repeated because std.algorithm.move was invoked 
>> to move elements around and on integers move simply copies the 
>> source to the destination. To replace a with the effect of the 
>> removal, simply assign a = remove(a, 1). The slice will be 
>> rebound to the shorter array and the operation completes with 
>> maximal efficiency.

Ah... This is all a lot clearer now. Thanks guys!


More information about the Digitalmars-d-learn mailing list