[英]Running a compiled Haskell program:
data Figura = Circulo Float | Rectangulo Float Float
esRedondo :: Figura -> Bool
esRedondo (Circulo _) = True
esRedondo (Rectangulo _ _) = False
area :: Figura -> Float
area (Circulo r) = pi*r*r
area (Rectangulo h b) = h*b
我收到一个错误: The function
main在模块Main中未定义
如果要创建可运行的可执行文件,则需要定义main :: IO ()
,它将在程序运行时执行。
如果您正在使用ghc,这可能是您想做的。 ghci yourprogram.hs
。 这将允许与您的程序进行交互。 您的程序当前不执行任何操作,因此它将更加有用。
发生这种情况的原因有两个:
Main
模块中。 这两个原因的总和就是错误: Main
模块中没有main
函数。
一种解决方案是添加main
功能:
main :: IO ()
main = return () -- do nothing
或者,也可以将文件编译为库,然后将其加载到ghci
(或仅将.hs
文件加载到ghci
)。 在这种情况下,您应该为您的库指定模块名称:
module Geometry where
[...]
然后将其import Geometry
到与import Geometry
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.