Я пытаюсь написать функцию, которая принимает список списков Ints в качестве входных данных и возвращает список Int, содержащий сумму второго и третьего элементов каждого списка, если список содержит не менее 3 элементов.Сумма вторых и третьих элементов списка списков интов в Хаскелле?
У меня есть ошибка о неисчерпаемом шаблоне с тем, что у меня есть, и я не знаю почему.
sumSecondThird :: [[Int]] -> [Int]
sumSecondThird [] = []
sumSecondThird ((_:x:y:_):xs) = (x+y):(sumSecondThird xs)
я могу заставить его работать, используя функцию !!
, но я хочу использовать поиск по шаблону. Любая помощь в том, почему это не работает?
ли это считать примитивной рекурсии? Потому что я забыл упомянуть это требование. – user130554
Я не совсем уверен, что в этом контексте означает примитивная рекурсия, но это должно быть потому, что в ее реализации не так много свободы. – Rufflewind