2016-10-05 2 views
0

목록의 처음에 0을 추가하려고합니다. 모듈이 성공적으로로드되었지만 일부 매개 변수를 사용하여 아래 기능을 시도 할 때 Non-exhaustive patterns in function이 표시됩니다. 다음 코드는 offset n는 정수하스켈 - 함수의 패턴 부족

extraUnicodeList :: Int->[Int] -> [Int] 
extraUnicodeList n [] = [] 
extraUnicodeList n [a] 
    | (n==0) = [a] 
    | otherwise = replicate (offset n) 0 ++ [a] 

난 여전히 실종 사건이야?

답변

0

0 개의 요소 ([])와 하나의 요소 ([a])가있는 경우를 다뤘습니다. 다른 모든 경우가 누락되었습니다.

크기가 비어 있지 않은 목록과 일치 시키려면 비어 있지 않은 목록과 일치하는 패턴 x:xs을 사용하고 첫 번째 요소는 x, 나머지 요소는 xs으로 바인딩합니다.

[x]은 하나의 요소 목록에만 일치하며 하나의 요소는 x에 바인딩합니다.