отсутствует сопроводительная привязка - Что это значит?Как это работает?

StackOverflow https://stackoverflow.com//questions/11683419

  •  12-12-2019
  •  | 
  •  

Вопрос

Я практикую от ЛЯХ.

Файл phoneBook.hs содержит следующий код:

телефонная книга ::[(Строка, Строка)]

При попытке скомпилировать вышеупомянутый код я получаю следующую ошибку:

*Main>: загрузить "/home/optimight/phonebook.hs" [1 из 1] Компиляция Main (/Home/optimight/phoneBook.hs, интерпретируется)

/home/optimight/phoneBook.hs:1:1:Тип подписи для «телефонной книги» не хватает сопровождающего переплета, не удалась, модули загружены:никто.

Вопрос добавлен после ответа Брано и последующего комментария к этому ответу:Как мы обеспечиваем реализацию вышеупомянутой подписи типа?

Если я добавлю это:

введите phoneBook = [(String, String)]

Я получаю следующую ошибку:

Prelude>: загрузить "/home/optimight/phonebook.hs" [1 из 1] Компилирование Main (/Home/optimight/phoneBook.hs, интерпретируется)

/home/optimight/phoneBook.hs:2:6:Неверный заголовок объявления типа или класса:Телефонная книга не удалась, модули загружены:никто

Это было полезно?

Решение

Вам нужно обеспечить реализацию для телефонной книги.

phoneBook :: [(String, String)] - это просто подпись.

Другие советы

Если вы хотите объявить тип, он должен иметь начальный верхний регистр, т.е. type PhoneBook = [(String, String)].

Если вы хотите объявить функцию, вам необходимо предоставить либо только ее определение (привязку), либо ее определение и сигнатуру типа.Минимальные усилия для компиляции вашего кода:

phoneBook :: [(String, String)]
phoneBook = undefined

Тогда вы можете заменить undefined с любым значением типа [(String, String)] например [("Person","Number")].

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top