ВП
Виктория Подолич
Что значит операция "++" в Haskell
list2 :: Integer -> [Integer]
list2 0 = [ ]
list2 x = list2 (x-1)++(x:[ ])
Функция возвращает список натуральных чисел. Что делает операция "++" ?
list2 :: Integer -> [Integer]
list2 0 = [ ]
list2 x = list2 (x-1)++(x:[ ])
Функция возвращает список натуральных чисел. Что делает операция "++" ?
Конкатенация списка, вроде так грамотно.. .
++ в данном случае присоединяет к списку, возвращаемому этой же функцией, только с x меньшим на единицу, список из одного целого числа x. Короче, просто присоединяет число х.
Когда аргумент будет равен нулю, функция вернет пустой список и рекурсивный вызов функции закончится.