Шаг 68.
Основы языка Haskell.
Операции над списками

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

    Приведём операции стандартного модуля Prelude для обработки списков с указанием их приоритета и ассоциативности.

Таблица 1. Стандартные операции над списками
Символ Значение Ассоциативность Приоритет Тип
!! Элемент списка по индексу Левая 9 [a] -> Int -> a
: Добавление элемента в список Правая 5 a -> [a] -> [a]
++ Конкатенация списков Правая 5 [a] -> [a] -> [a]


    Примеры использования операций.

   > [1,2,3] !! 2         > ['a','b'] !! 2
   3                      Program error: Prelude.!!: index to large

   > [1,2,3]++[4,5]       > ['a']++['b','c']
   [1,2,3,4,5]            "abc"

   > 22:[-1,3,-2]         > 'z':['a','b','c']
   [22,-1,3,-2]           "zabc"

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

    Например, если функция должна обработать и вернуть только список "ограниченных" целых чисел, то её тип задаётся так:

   f:: [Int] -> [Int]

    Со следующего шага мы начнем рассматривать функции обработки списков.




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