Frage

Ich übe von LYAH aus.

Telefonbuch.hs-Datei enthält folgenden Code:

Telefonbuch ::[(Zeichenfolge, Zeichenfolge)]

Beim Versuch, den oben genannten Code zu kompilieren, erhalte ich folgende Fehlermeldung:

* Haupt> : laden "/ home / optimight / Telefonbuch.hs" [1 von 1] Kompilieren von Main ( / home / optimight / Telefonbuch.hs, gedolmetscht )

/ zuhause / optimight / Telefonbuch.hs: 1:1:Der Typensignatur für 'Telefonbuch' fehlt eine begleitende Bindung Fehlgeschlagen, Module geladen:kein.

Frage nach Branos Antwort und anschließendem Kommentar zu dieser Antwort hinzugefügt:Wie stellen wir die Implementierung für die oben genannte Typensignatur bereit?

Wenn ich das hinzufüge :

typ Telefonbuch = [(Zeichenfolge, Zeichenfolge)]

Ich erhalte folgenden Fehler:

Vorspiel>: laden "/ home / optimight / Telefonbuch.hs" [1 von 1] Kompilieren von Main ( / home / optimight / Telefonbuch.hs, gedolmetscht )

/ zuhause / optimight / Telefonbuch.hs: 2:6 Uhr:Fehlerhafter Kopf der Typ- oder Klassendeklaration:Telefonbuch Fehlgeschlagen, Module geladen:kein

War es hilfreich?

Lösung

Sie müssen eine Implementierung für das Telefonbuch angeben.

phoneBook :: [(String, String)] ist nur die Signatur.

Andere Tipps

Wenn Sie einen Typ deklarieren möchten, muss er anfangs Großbuchstaben haben, dh. type PhoneBook = [(String, String)].

Wenn Sie eine Funktion deklarieren möchten, müssen Sie entweder nur ihre Definition (die Bindung) oder sowohl ihre Definition als auch ihre Typensignatur angeben.Der minimale Aufwand zum Kompilieren Ihres Codes beträgt:

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

Dann können Sie ersetzen undefined mit einem beliebigen Wert vom Typ [(String, String)] beispielsweise. [("Person","Number")].

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top