집합의 원소의 수를 반환하는 haskell에 재귀 함수 크기를 씁니다. 라이브러리 기능 길이를 사용하지 마십시오.집합의 원소의 수를 반환하는 Haskell 재귀 함수 크기
size :: Set a -> Int
이것은 내가 지금까지 한 것입니다. 그것이 옳은 것처럼 보입니까, 아니면 질문에서 묻고있는 것을 오해하고 있습니까? 빈리스트 []
크기 0
을 가지고 있다는 사실, 그래서 : 코드 게다가
size :: Set a -> Int
size [] = 0 -- zero
size (_:xs) = 1 + size xs
그러나 당신의 코드를 설명 할 수 있어야하는 것이 중요합니다 감사합니다
size :: Set a -> Int
size [] = 1
size (_:xs) = 1 + size xs
질문에서 'Set'의 정의가 누락되었습니다. 'set Set = []'로 선언되면 코드가 정확합니다. 비어있는 세트의 크기는 0이어야합니다 (연습으로 생각할 사항에 대한 몇 가지 제안 :이 함수를 꼬리 재귀 적으로 만들려면 어떻게해야할까요? 성능에 대해서는 좋은 아이디어일까요? ?이 기능을 접어서 표현할 수 있습니까?) –
답장을 보내 주셔서 감사합니다. 예,'size'는'set a = [a]'와 같이 선언됩니다. 나는 너의 제안을 살펴볼 것이다. – carl123