Шаг 101.
Основы языка Haskell. Функционалы (функции высшего порядка). Функционалы из Prelude. Функционалы-преобразователи

    На этом шаге мы рассмотрим функционалы этого типа.

    Перечислим функционалы этой группы.

    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]

    На следующем шаге мы рассмотрим функционалы-компараторы.




Предыдущий шаг Содержание Следующий шаг