我正在尝试从"为了好大而学习你的哈斯克尔"一书中自学Haskell.我到了第7章(模块)的最后一部分,它讲述了如何创建自己的模块.我在本节开头的书中给出了几何模块的复制和粘贴.该文件的名称是Geometry.hs,正如本书所建议的那样,该文件位于ghci的bin目录中,这是我之前能够使用以下方法成功加载的地方:l用于另一个.hs文件.
当我在GHCi中键入以下命令时
import Geometry
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
找不到模块'Geometry'它不是当前程序或任何已知包中的模块
我必须做一些明显错误的事情,但我无法弄明白它是什么.
我把它放在Shapes.hs中:
module Shapes
( Shape(Rectangle)
) where
data Shape = Circle | Rectangle deriving (Show)
Run Code Online (Sandbox Code Playgroud)
然后我进入GHCi并加载它:l Shapes.
打字Circle工作.我只Rectangle在paranthesis中指定,为什么它有效?