0
저는 초보자이며 하나의리스트에 얼마나 많은 요소가 있는지 보여주는 함수를 정의하고자합니다. 나는 이미 생성 :하스켈은 하나의 입력으로 카운터를 생성합니다.
elementsl n [] = n
elementsl n (_:xs) = elementsl (n+1) xs
을하지만 두 개의 입력을 제공해야합니다 0
및 목록을 표시합니다. 어떻게 목록을 단일 입력으로 제공 할 수 있으며 여전히 함수에 카운터가 있습니까?
그러나 나는 마지막 문장으로 확신이 없습니다. 꼬리 재귀 버전 (적절한 엄격함 수정 또는 옵티마이 저가 수정하기를기도 함)은 일정한 공간 (제공된 숫자는 표준 유형 임)에서 실행되고 비 꼬리 재귀 재귀 버전은 선형 메모리를 사용합니다. 첫 번째 버전을 사용하겠습니다. – chi