Имея, например, этот список
list = [1, 2, 3, 4, 4]
Я могу отфильтровать элементы, равные 4, вот так.
Enum.reject(list, fn item -> item == 4 end)
Есть ли способ получить отбракованные предметы? как [4, 4]
Что-то вроде:
rejected = Enum.get_rejected(list, fn item -> item == 4 end)
more_rejected = Enum.get_rejected(list, fn item -> item == 3 end)
remaining = list
Я могу добиться этого прямо сейчас, повторяя несколько раз, например:
rejected = Enum.filter(list, fn item -> item == 4 end)
more_rejected = Enum.filter(list, fn item -> item == 3 end)
remaining = Enum.reject(list, fn item -> item != 4 and item != 3 end)