У меня есть функция в Haskell, которая возвращает мне преемника карты. Я знаю, как получить доступ к карточке, используя понимание списка, но не совсем уверен, как получить следующую карту, поэтому pos + 1. Вот мой код:Следующий элемент в списке
pCard::Card->Deck->Card
pCard (K,C) _ = (A,S) --exception for last card
pCard crd pck = head [p|(pos,p)<-(zip [0..51] pck),crd==p]
Как насчет поиска предшественника. Это сработало! –
Сделайте копию. 'last $ takeWhile (/ = crd) pck' – karakfa