What is the replacement for deprecated array removal
kerdemdemir
kerdemdemir at gmail.com
Mon Nov 18 20:53:14 UTC 2019
On Monday, 18 November 2019 at 20:48:40 UTC, kerdemdemir wrote:
> On Monday, 18 November 2019 at 20:37:50 UTC, Steven
> Schveighoffer wrote:
>> If I follow the code correctly, it's treating your array as a
>> tuple of pos/len to remove.
>>
>> So it looks like your code is equivalent to
>>
>> remove(tuple(0, 2));
>>
>> Which is probably not what you want.
>>
>> This probably explains why it's being deprecated, it's too
>> confusing to the compiler.
>>
>> And looking at git blame goes back to this PR:
>> https://github.com/dlang/phobos/pull/6154
>>
>> -Steve
>
> Sorry to be horrible at explaining but remove(tuple(0, 2)); is
> not what I want.
>
> I have an array which goes from 0 to 5. And I want to remove
> odd numbers.
>
> remove(tuple(0, 2)); defines a starting index and a ending
> index but I need to delete not consecutive elements. In the
> case of odd number from 0 to 5 that will be 1, 3 and 5 .
>
> It is so weird when you type it is allowed like remove(1, 3, 5)
> but unexpectedly remove([1,3,5]) does not work the same way.
>
> I think if I can convert [1,3,5] to a AliasSeq that could be ok
> also.
>
> Erdem
I read your message again now and I see that you weren't
suggesting remove(tuple(0, 2)) but you were pointing out it is
not what I want as well.
Is there any way to remove list of elements efficiently with a
dynamical array?
Or is there anyway converting a dynamical array into a form which
is like a AliasSeq?
Erdem
More information about the Digitalmars-d-learn
mailing list