私は Haskell を独学で学び始め、そのために Windows 用の Haskell プラットフォームをインストールしました。今のところ使っWinGHCi
ています。:cd
ディレクトリを変更するためのコマンドがあることを知りました。しかし問題は、自分が現在どのディレクトリにいるかをどうやって知ることができるかということです。最初にそれを知らずに、なぜディレクトリを変更したいのでしょうか。私はたくさん検索しましたが、答えを見つけることができませんでした。
現在の作業ディレクトリを知る方法があれば教えてください。できれば、Linux のコンソールのように、現在のディレクトリを表示するようにコマンド プロンプト自体を構成したいと考えています。
@ダニエルの提案に従って、私はこれらを行いました:
- Windows 7で作業していたのでファイルが無いので
.ghci
(Unix系OS用だと思います)、こちらの指示通りフォルダにファイルghci.conf
を作成しました。C:\Users\Apelles\AppData\Roaming\ghc
- スクリプトをダニエルの回答から にコピーして貼り付けました
ghci.conf
。 - 次に
ghci.exe
、コンソールのようなウィンドウを開始しました。以前に通常ロードしていたよりも多くのモジュールをロードしていることに気付きました。スナップショットは次のとおりです。
ご覧のとおり、より多くのモジュールが読み込まれ、最後の行には次のように書かれています。
プロンプト文字列を解析できません。Haskell 構文を使用します。
どういう意味ですか?問題を引き起こしているのはどの行ですか (次のスクリプトから)?
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
また、ghci.conf
ファイルの名前をランダムな名前に変更してから startghci.exe
を実行すると、次のモジュールがロードされます。
前に言ったように、ロードするモジュールの数が少なくなります。つまり、 ghci.confを使用すると、ghci.exe
何かが正常に実行されますが、ある時点で失敗します。それを修正する方法は?