Шаг 72.
Основы языка Haskell.
Функции обработки списков. Простейшие компараторы

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

    Перечислим несколько таких функций.

    1. Функция, возвращающая "больший" список из двух заданных списков (в смысле лексикографического порядка):

   max:: Ord a => a -> a -> a
   max lst1 lst2
Например:
   > max [1] [2]  > max [1] [-2,3]  > max [2] [2,3]
   [2]            [1]               [2,3]

    2. Функция, возвращающая "меньший" список из двух заданных списков (в смысле лексикографического порядка):

   min:: Ord a => a -> a -> a
   min lst1 lst2
Например:
   > min [1] [2]  > min [1] [-2,3]  > min [2] [2,3]
   [1]            [-2,3]            [2]

    3. Функция, возвращающая максимальное значение элементов исходного непустого списка:

   maximum:: Ord a => [a] -> a
   maximum lst
Например:
   > maximum [1]         > maximum [-1,-2]
   1                     -1

   > maximum [-1,-2,5]   > maximum [[1],[1,1]]
   5                     [1,1]

   > maximum [[1],[-2,3],[4,5,6],[1,1,1]]
   [4,5,6]

    4. Функция, возвращающая минимальное значение элементов исходного непустого списка:

   minimum:: Ord a => [a] -> a
   minimum lst
Например:
   > minimum [1]          > minimum [-1,-2]
   1                      -2

   > minimum [5,-5,-10]   > minimum [[1],[1,1]]
   -10                    [1]

   > minimum [[1],[(-2),3],[4,5,6],[1,1,1]]
   [-2,1]

    5. Функция, определяющая в списке пар вида

   (Значение, Ассоциированное_значение)
первое вхождение ассоциированного значения по заданному:
   lookup:: Eq a => a -> [(a,b)] -> Maybe b
   lookup a lstPair
Например:
   > lookup 4 [(1,2),(3,4),(4,5),(4,7)]
   Just 5

   > lookup 4 [(1,2),(3,4),(5,5),(7,7)]
   Nothing

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




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