delete an element from an array
Jonathan M Davis
jmdavisProg at gmx.com
Sun Oct 24 04:55:57 PDT 2010
On Sunday 24 October 2010 04:24:07 Adam Cigánek wrote:
> remove removes element at a given offset. I want to remove element
> with a given value. This is example shows it better:
> auto a = ["foo", "bar", "baz"];
> auto b = delete(a, "bar");
> assert(["foo", "baz"] == b);
> 2010/10/24 Simen kjaeraas <simen.kjaras at gmail.com>:
> > On Sun, 24 Oct 2010 13:02:24 +0200, Adam Cigánek <adam.ciganek at gmail.com>
> > wrote:
> >> Hello,
> >> Is there a function in the standard library to delete an element from
> >> an array (or range)? Something like:
> >> auto a = [1, 2, 3, 4, 5, 6];
> >> auto b = delete(a, 4);
> >> assert([1, 2, 3, 4, 6] == b);
> >> I've noticed there is eliminate in std.algorithm, which seems to be
> >> doing just that, but it's commented out.
> >> It's not difficult to roll my own, (with the help of indexOf and
> >> remove), but I thought that this is pretty common operation so it
> >> should be in the standard library.
> > std.algorithm has remove, which does what you want.
> > --
> > Simen
Well, then use indexOf() to get the offset and remove() to remove the element.
- Jonathan M Davis
More information about the Digitalmars-d-learn