[英]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.