프로그래밍에 익숙하지 않아서 생각할 수없는 문제가 있습니다. 아웃. 내가 유형이 있습니다하스켈에서 주어진 카드 갑판에서 가져올 수있는 것보다 5 카드 손의 모든 조합을 반환하는 함수를 작성하는 방법
newtype Hand = Hand { unHand :: [Card] } deriving (Eq, Show)
type Deck = [Card]
내가 그것을 주어진 갑판에서 취할 수 5 개 카드의 가능한 모든 조합을 반환 allHands
하도록 함수를 작성하고자합니다. combs :: Int -> [a] -> [[a]]
allHands :: Deck -> [Hand]
allHands deck = combs 5 deck
는리스트에서 n 개의 요소를 고려하여 형성 될 수있는 모든 가능한 조합을 리턴 I 만든 함수이다.
내 함수 (combs 5 deck)
의 결과가 [[Card]]
이고 내 값이 [Hand]
이되기를 원하기 때문에 내 기능이 작동하지 않습니다. 아무도 이것으로 나를 도울 수 있습니까?
을 시퀀스 :
여기에 아마 (이 중복 생성하기 때문에) 당신이 원하는 것을하지 않는 내 원래의 대답 작업? 어떤 오류가보고 있습니까? "이 코드가 작동하지 않는 이유"를 묻는 질문에는 특정 문제 또는 오류에 대한 설명이 필요합니다. 'deck :: [Card]'그리고'map'ping'Hand :: [Card] -> Hand's over'comb5 deck :: [[Card]]'타입이''[Hand]'타입이어야합니다. 작동해야하므로 문제의 현재 설명에서 어떤 문제가 발생하는지 알 수 없습니다. – Cirdec