Der Code funktioniert ok es ist und funktioniert, aber es sieht aus wie Sie versucht, um die Funktion in einer pythonischen Weise zu bewerten, nicht genau, wie Sie die Funktionen in Haskell verwenden sollten. Sie haben hier Optionen:
Mit dem REPL durch ghci
im Verzeichnis ausgeführt wird und dann die Datei in dem Laden (mit dem Befehl :l <filename>.hs
). Dort können Sie die Funktion interaktiv verwenden, indem Sie sie wie in der Datei (typeOfInt 27
) oder mit anderen Funktionen (map typeOfInt [1, 2, 3, 4, 5]
) aufrufen.
Erstellen einer Hauptmethode und Kompilieren der Datei. Die Hauptmethode in Haskell muss eine main :: IO()
-Methode sein, und diese wird ausgeführt, sobald Sie eine kompilierte Datei ausführen.
Für Ihr Beispiel können Sie putStrLn
verwenden, um die Ergebnisse zu erhalten, die Sie scheinen zu suchen:
main :: IO()
main = putStrLn $ typeOfInt 27
Wie Sie in diesem Fall sehen können, ist es wohl sinnvoller ist die verwenden ghci
und spielen mit den Funktionen, anstatt zu kompilieren.
Wie funktioniert es nicht? – gobrewers14
Erraten: Der Test 'typeOfInt 27' darf nicht in die .hs-Datei geschrieben werden, sondern ist ein Ausdruck, der innerhalb von GHCi ausgewertet werden soll. – chi
Danke !!! Jetzt weiß ich. – Will