На этом шаге мы рассмотрим функционалы этого типа.
Перечислим функционалы этой группы.
1. Функционал, применяющий заданную функцию к каждому элементу входного списка и возвращающий преобразованный исходный список:
map:: (a -> b) -> [a] -> [b] map f lst
> map abs [-1,2,-3] > map sqrt [0,4,9,16,25] [1,2,3] [0.0,2.0,3.0,4.0,5.0]
2. Функционал, применяющий заданную функцию к каждому элементу заданного списка и объединяющий полученные результаты с помощью функции concat:
concatMap:: (a -> [b]) -> [a] -> [b] concatMap f lst
> concatMap init [[1,2,3],[4],[4],[6,7,8,9]] [1,2,6,7,8] > concatMap reverse [[-1,-2,-3],[0],[2,1],[6,5,4,3]] [-3,-2,-1,0,1,2,3,4,5,6]
На следующем шаге мы рассмотрим функционалы-компараторы.