Array remove 1 item? (std.container)
    Jonathan M Davis 
    jmdavisProg at gmx.com
       
    Wed Jan  9 13:19:46 PST 2013
    
    
  
On Wednesday, January 09, 2013 16:20:39 Robert wrote:
> On Wednesday, 9 January 2013 at 15:06:01 UTC, Damian wrote:
> > Hi, I've got the jist of using most of std.container.Array, but
> > I can't seem to remove a single item, I understand I must remove
> > a range.
> > 
> > Array!int arr;
> > arr.insert([1, 2, 3, 4, 5]);
> > 
> > So now how would I remove lets say the number 3 from my array
> > in the most efficient way? which would leave me with [1, 2, 4,
> > 5] ??
> > 
> > For reference I'm using an Array to replace a C++ std::vector..
> 
> Hi, you can do arr.linearRemove(arr[2..3]);
> 
> but i dont know if its the best way...
Either that or use find and take.
arr.linearRemove(take(find(arr[], elementValueToRemove), 1));
But if you're trying to remove by index, then arr[2 .. 3] makes more sense. If 
it were a container without random access though, you'd be stuck using find or 
popFrontN to to get to the element that you want to remove, and then you'd use 
take to get the first element only (or however many elements you wanted to 
remove).
- Jonathan M Davis
    
    
More information about the Digitalmars-d-learn
mailing list