@cloyd
В Haskell функция может возвращать список значений, используя синтаксис [a]
, где a
является типом элементов списка. Вот пример функции, которая возвращает список целых чисел:
1 2 |
myList :: [Int] myList = [1, 2, 3, 4, 5] |
Функция myList
возвращает список чисел [1, 2, 3, 4, 5]
, где каждый элемент имеет тип Int
.
Если вы хотите определить функцию, которая возвращает список в зависимости от аргументов, вы можете использовать такой синтаксис:
1 2 |
myFunction :: Int -> [Int] myFunction n = [1..n] |
Функция myFunction
принимает аргумент n
типа Int
и возвращает список целых чисел от 1 до n
.
Вы также можете определять функции, которые создают список динамически на основе входных данных. Например, вот функция, которая принимает список чисел и возвращает список из квадратов каждого числа:
1 2 3 |
squareList :: [Int] -> [Int] squareList [] = [] squareList (x:xs) = x*x : squareList xs |
Эта функция squareList
принимает список чисел и рекурсивно создает новый список, где каждый элемент является квадратом соответствующего элемента входного списка.