我创建了一个小模块,我想在我的程序中使用它。我可以在程序中导入它并使用它。但是,我无法在ghci中导入它。这导致了很多问题,因为我无法以交互方式测试我想要的东西。
基本上,我是从这里创建Geometry.hs(http://learnyouahaskell.com/modules#making-our-own-modules)并尝试在我的程序中导入它。如果我在ghci中做同样的事情,那就没有。我从Geometry.hs所在的同一目录运行ghci。
这是我的计划。
import Geometry
main = putStrLn $ show $ Geometry.sphereVolume 1
我尝试在ghci中执行相同的行并得到此错误 -
<no location info>:
Could not find module `Geometry'
It is not a module in the current program, or in any known package.
答案 0 :(得分:1)
为了使我们在Haskell标签上保持答案问题的比例很高,解决方案是使用GHCi中的:load
或:l
指令将源文件加载到当前目录中。正如@Zeta所述,可以在http://www.haskell.org/ghc/docs/latest/html/users_guide/interactive-evaluation.html#ghci-scope