Шаг 73.
Основы языка Haskell.
Функции обработки списков. Элементарные селекторы

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

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

    1. Функция, возвращающая первый элемент непустого (!) списка:

   head:: [a] -> a
   head lst
Например:
   > head ['a']   > head [1,2,3,4]   > head [[1,-1],[2],[3,4,5]]
   'a'            1                  [1,-1]

    2. Функция, возвращающая хвост непустого (!) списка, т.е. список без его первого элемента:

   tail:: [a] -> [a]
   tail lst
Например:
   > tail ['a']   > tail [1,2,3,4]   > tail [[1,-1],[2],[3,4,5]]
   []             [2,3,4]            [[2],[3,4,5]]
3. Функция, возвращающая последний элемент непустого (!) списка:
   last:: [a] -> a
   last lst
Например:
   > last ['a']   > last [1,2,3,4]   > last [[1,-1],[2],[3,4,5]]
   'a'            4                  [3,4,5]

    4. Функция, возвращающая исходный непустой (!) список без последнего элемента:

   init:: [a] -> [a]
   init lst
Например:
   > init ['a']   > init [1,2,3,4]   > init [[1,-1],[2],[3,4,5]]
   []             [1,2,3]            [[1,-1],[2]]

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

   take:: Int -> [a] -> [a]
   take n lst
Например:
   > take 1 []   > take 2 [1,2,3]   > take 3 [[1,-1],[2],[3,4,5]]
   []            [1,2]              [[1,-1],[2],[3,4,5]]

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

   drop:: Int -> [a] -> [a]
   drop n lst
Если указанный номер элемента превышает длину списка, то функция возвращает пустой список. Например:
   > drop 1 []   > drop 2 [1,2,3]   > drop 3 [[1,-1],[2],[3,4,5]]
   []            [3]                []

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




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