Filter (функція вищого порядку)

У багатьох мовах програмування filter — функція вищого порядку, обробляє структуру даних (зазвичай список) у певному порядку, щоб створити нову структуру даних, яка містить саме ті елементи початкової структури даних, для яких заданий предикат повертає значення true.

Приклад

ред.

У Haskell, приклад коду

  filter even [1..10]

обчислює список 2, 4, …, 10 шляхом застосування предиката even до кожного елемента списку цілих чисел 1, 2, …, 10 у такому порядку та створення нового списку цих елементів для якого предикат повертає логічне значення true, тим самим надаючи список, що містить лише парні члени цього списку. І навпаки, приклад коду

  filter (not . even) [1..10]

обчислює список 1, 3, …, 9, збираючи ті елементи списку цілих чисел 1, 2, …, 10, для яких предикат even повертає логічне значення false (з . є оператор композиції функцій).

Див. також

ред.