Ich habe angefangen, mich selbst zu unterrichten Haskell, und dafür habe ich The Haskell Platform für Windows installiert. Ich benutze ab sofort. Ich habe gelernt, dass es Befehl :cd
hat, die verwendet wird, um Verzeichnis zu ändern. Aber die Frage ist, woher soll ich wissen, in welchem Verzeichnis ich mich gerade befinde? Ohne das zuerst zu wissen, warum sollte ich das Verzeichnis wechseln wollen. Ich habe viel gesucht, konnte aber keine Antwort finden.So sehen Sie das aktuelle Arbeitsverzeichnis in WinGHCi
Bitte sagen Sie mir, ob es eine Möglichkeit gibt, das aktuelle Arbeitsverzeichnis zu kennen. Am liebsten würde ich die Eingabeaufforderung selbst so konfigurieren, dass das aktuelle Verzeichnis angezeigt wird, ähnlich wie in der Linux-Konsole.
Nach @ Daniel Vorschlag, habe ich diese:
- Da ich auf Windows 7 gearbeitet, gibt es keine
.ghci
Datei (ich glaube es für Unix-ähnlichen Betriebssystem ist), so habe ich eine Dateighci.conf
inC:\Users\Apelles\AppData\Roaming\ghc
Ordner, wie it is instructed here. - Kopieren eingefügt das Skript aus Daniels Antwort auf
ghci.conf
. - Dann begann ich
ghci.exe
, die das konsolenähnliche Fenster ist. Ich habe festgestellt, dass es weniger Module geladen hat, als normalerweise zum Laden verwendet wurde. Hier ist die Momentaufnahme:
Wie Sie sehen können es mehrere Module lädt, und die letzte Zeile sagt,
Kann nicht Prompt-String analysieren. Verwenden Sie die Haskell-Syntax.
Was bedeutet das? Welche Zeile verursacht ein Problem (aus dem folgenden Skript)?
let cur fill = do { cwd <- System.Directory.getCurrentDirectory; return (":set prompt \"" ++ cwd ++ fill ++ " \""); }
:def doprompt (\_ -> cur ">")
:def mycd (\dir -> System.Directory.setCurrentDirectory dir >> cur ">")
:doprompt
Auch, wenn ich ghci.conf
Datei an einem beliebigen Namen umbenennen und dann ghci.exe
starten, lädt es diese Module:
Wie ich schon sagte, lädt es eine geringere Anzahl von Modulen, die bedeutet mit ghci.conf, ghci.exe
macht etwas erfolgreich, scheitert aber irgendwann. Wie behebt man das?
Versuchen 'Prelude>: pwd' (oder was auch immer Windows Pendant von pwd ist). Ich denke WinGHCi läuft ein gewöhnliches ghci darunter, damit sollte es funktionieren. –
@DanielFischer: Das funktioniert super. Wäre es möglich, die Eingabeaufforderung selbst zu konfigurieren? – Nawaz
Ja, Sie können die Eingabeaufforderung mit ': set prompt Whatever 'konfigurieren (geben Sie':? 'Ein, um eine kurze Hilfe zu ghci-Befehlen zu erhalten). Das ist jedoch pro Sitzung. Um es dauerhaft zu machen, tun Sie es in Ihrer '.ghci' Datei (ich denke sie werden unter Windows anders genannt, erinnern sich nicht an was). Ich bin mir nicht sicher, wie ich es auf das aktuelle Verzeichnis einstellen soll. –