첨부 된 바인딩이 부족합니다 - 무엇을 의미합니까?그것이 어떻게 작동합니까?
-
12-12-2019 - |
문제
나는 리아에서 연습하고있다.
phonebook.hs 파일에는 다음 코드가 들어 있습니다.
전화 번호부 :: [(문자열, 문자열)]
위에서 언급 한 코드를 컴파일하려고하면 다음과 같은 오류가 발생합니다 :
* main> : load "/home/optimight/phonhbook.hs" [1/1] 메인 컴파일 (/home/optimight/phonebook.hs, 해석, 해석)
/home/optimight/phonebook.hs:1:1 : `전화 번호부 '의 유형 서명은 동반 된 바인딩이 부족합니다. 실패, 모듈로드 : 없음.
Brano의 답변 후 추가 된 질문 및 이번 답변에 대한 후속 의견 : 위에서 언급 한 유형의 서명을 위해 어떻게 구현을 제공합니까?
이 추가되면 다음과 같이하십시오 :
유형 전화 번호부= [(문자열, 문자열)]
오류가 발생합니다 :
prelude> : load "/home/optimight/phonhbook.hs" [1/1] 메인 컴파일 (/home/optimight/phonebook.hs, 해석, 해석)
/home/optimight/phonebook.hs:2:6 : 형식 또는 클래스 선언의 기형 된 머리 : 전화 번호부 실패, 모듈로드 : 없음
해결책
전화 번호부 구현을 제공해야합니다.
phoneBook :: [(String, String)]
는 서명 일뿐입니다.
다른 팁
유형을 선언하려면 초기 대문자 I.E.E.E.E.E.E.E.
함수를 선언하려면 해당 정의 (바인딩) 또는 정의 및 유형 서명을 모두 제공해야합니다.코드를 컴파일하려는 최소한의 노력은 다음과 같습니다.
phoneBook :: [(String, String)]
phoneBook = undefined
.
Type type PhoneBook = [(String, String)]
예를 들어 undefined
를 대체 할 수 있습니다.[(String, String)]
.