Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Rust

Idiom #135 Remove item from list, by its value

Remove at most 1 item from list items, having the value x.
This will alter the original list or return a new list, depending on which is more idiomatic.
If there are several occurrences of x in items, remove only one of them. If x is absent, keep items unchanged.

if let Some(i) = items.iter().position(|item| *item == x) {
    items.remove(i);
}
(let [[n m]
      (split-with (partial not= x) items)]
  (concat n (rest m)))

New implementation...