Шаг 117.
Основы языка Haskell. Потенциально бесконечные списки. Конструкторы потенциально бесконечных списков из библиотеки Prelude

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

    Перечислим эти конструкторы.

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

   repeat:: a -> [a]

   repeat x
Например:
   > repeat 2   > repeat ['a']   > repeat [1,2]      > repeat 'a'
   [2,2,...]    ["a","a",...]    [[1,2],[1,2],...]   "aa..."

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

   cycle:: [a] -> [a]

   cycle lst
Например:
   > cycle [2]        > cycle [1,2,3]     > cycle [[1],[2,3]]
   [2,2,...]          [1,2,3,1,2,3,...]   [[1],[2,3],[1],[2,3],...]

   > cycle ['a','b']
   "abab..."

    3. Функция, конструирующая потенциально бесконечный список, элементы которого образуют арифметическую прогрессию с разностью 1, начиная с заданного положительного элемента:

   numericEnumFrom:: Real a => a -> [a]

   numericEnumFrom n
Например:
   > numericEnumFrom 3
   [3,4,5,6,7,8,9,10,11,...]


   Замечание. В версии интерпретатора Haskell (май,2006) имя функции следующее:
   enumFrom n
Например:
   > enumFrom 1
   [1,2,3,4,5,6,7,8,9,10,11,...]

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

   numericEnumFromThen:: Real a => a -> a -> [a]

   numericEnumFromThen m n
Например:
   > numericEnumFrom 1 4
   [1,4,7,10,13,16,19,22,25,28,...]


   Замечание. В версии интерпретатора Haskell (май,2006) имя функции следующее:
   enumFromThen m n
Например:
   > enumFromThen 3 10
   [3,10,17,24,31,...]

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




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