내일 필자는 기능적 프로그래밍에 대한 소개를 완료하기 위해 시험을 준비하고 있지만 이해할 수없는 것이 하나있다. 그가하는 일은 그가 목록에서 첫 번째 요소를 소요하고 나머지 계속 것입니다하스켈 : non-exhaustive-patterns
test [] = []
test (x:xs) = test (xs)
: 나는 같은 프로그램을 할 때마다
. 왼쪽에 하나만있을 때마다 xs
은 []
이어야하며 차례로 test [] = []
을 트리거해야합니다. 하지만이 알고리즘을 실행할 때마다 오류가 발생합니다. Exception: <interactive>:20:5-16: Non-exhaustive patterns in function test.
온라인에서 명확한 설명을 찾을 수 없습니다. 누군가가 나에게 이것이 명확하게 설명되거나 나에게 설명하는 링크를 보내 주시겠습니까?
이상한. 게시 한 코드 스 니펫에는 비 한정적인 패턴이 포함되어 있지 않습니다. – pyon
어둠 속에서 방금 촬영 : 아마도이 정의를 ghci에 입력하려고합니까? 그렇다면 하나의 let 문을 사용해야합니다 :'let test [] = []; test (x : xs) = test xs'입니다. – pyon
예, 그게 내가하고있는 일입니다. 고마워요. 나는 일주일 내내 프로그래밍 재귀를 보냈고, 왜 이것이 작동하지 않는지 알 수 없었기 때문에 놀랐습니다. –