如何在GHCi中设置当前目录?

Sta*_*ike 13 haskell

我是Haskell的新手并使用Windows PC.我正在尝试设置我的GHCi接口,以便在使用GHCi执行之前我可以在文本编辑器中编写代码.

目前,我的GHCi读到了

$ ghci GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help 
Loading package ghc-prim ... linking ... done. 
Loading package integer-gmp ... linking ... done. 
Loading package base ... linking ... done.
Prelude>
Run Code Online (Sandbox Code Playgroud)

根据这个站点,我必须将我的Haskell文件保存到当前目录或指定其他目录才能访问它们.这是我不知道该怎么办.

我的问题:

  1. 如何设置当前目录?
  2. 如何让GHCi告诉我当前目录的路径是什么,以便我可以查看我想要的内容?

请从行开始解释

Prelude>
Run Code Online (Sandbox Code Playgroud)

如上所述,我可以跟随.

注意:

给出的示例Haskell代码是

文件名:Main.hs

main = print(fac(20))

fac 0 = 1
fac n = n * fac(n-1) 
Run Code Online (Sandbox Code Playgroud)

并在GHCi

prelude> :load Main 
Compiling Main ( Main.hs, interpreted ) 
Ok, modules loaded: Main. 
*Main> fac 17 
355687428096000
Run Code Online (Sandbox Code Playgroud)

所以我想将Main.hs保存到一个目录中,将其指定为GHCi中的当前目录,然后运行上面的代码.

Zet*_*eta 22

如何设置当前目录?

GHCi提供:cd <dir>命令.您可以使用以下命令获取所有命令的列表:?.如果省略该目录,您将再次转到您的家.

如何让GHCi告诉我当前目录的路径是什么,以便我可以查看我想要的内容?

有趣的是,GHCi没有为此提供命令,但您可以使用Window的cd命令.为了执行外部命令,您需要使用:!,例如:! cd.

ghci> :! cd
C:\Users\Zeta
ghci> :cd workspace
ghci> :cd stackoverflow
ghci> :! cd
C:\Users\Zeta\workspace\stackoverflow
ghci> :cd
ghci> :!cd
C:\Users\Zeta