在我的大學,我目前有一個關于 Haskell 的講座。現在我得到了一份作業來制作一個程式。我們得到了這個示例檔案:https : //pastebin.com/6wPdEgHZ
從那開始,我們必須圍繞它開發程式。函式模擬資料庫訪問。
由于我不喜歡在 WinHugs 中編程,我使用 GHC 設定了 Visual Studio Code。我添加了一個 main-Function 來列印 Function-Outputs。它看起來像這樣:
module Main where
main :: IO ()
main = print artikel
我將其添加到頂部。就是這樣。起初我想輸出文章。那是 runghc 輸出:
[Running] runghc "c:\Users\5CG949285X\Documents\DHBW\5_Semester\Funktionale Programmierung\restaurant.hs"
[(1,"Hamburger","Hauptgericht",8.0,6.0),(2,"Cheeseburger","Hauptgericht",9.0,6.5),(3,"Chickenburger","Hauptgericht",8.5,6.5),(4,"Pommes frites","Beilage",3.0,2.0),(5,"Wedges","Beilage",3.5,2.0),(6,"Cola","Getraenk",2.5,1.0),(7,"Eistee","Getraenk",2.0,1.0),(8,"Wasser","Getraenk",1.5,0.5)]
[Done] exited with code=0 in 24.527 seconds
[Running] runghc "c:\Users\5CG949285X\Documents\DHBW\5_Semester\Funktionale Programmierung\restaurant.hs"
[(1,"Hamburger","Hauptgericht",8.0,6.0),(2,"Cheeseburger","Hauptgericht",9.0,6.5),(3,"Chickenburger","Hauptgericht",8.5,6.5),(4,"Pommes frites","Beilage",3.0,2.0),(5,"Wedges","Beilage",3.5,2.0),(6,"Cola","Getraenk",2.5,1.0),(7,"Eistee","Getraenk",2.0,1.0),(8,"Wasser","Getraenk",1.5,0.5)]
[Done] exited with code=0 in 30.182 seconds
如您所見,這需要很長時間。僅僅是因為檔案中有很多代碼嗎?還是我在設定上做錯了什么?
uj5u.com熱心網友回復:
如果我讓檔案保持原樣,只需放在module Restaurant where頂部并在同一目錄中添加第二個檔案,名為“Main.hs”,如下所示:
module Main where
import Restaurant
main :: IO ()
main = print artikel
它運行得更快。
如果我運行 Main.hs 它看起來像這樣:
[Running] runghc "c:\Users\5CG949285X\Documents\DHBW\5_Semester\Funktionale Programmierung\Main.hs"
[(1,"Hamburger","Hauptgericht",8.0,6.0),(2,"Cheeseburger","Hauptgericht",9.0,6.5),(3,"Chickenburger","Hauptgericht",8.5,6.5),(4,"Pommes frites","Beilage",3.0,2.0),(5,"Wedges","Beilage",3.5,2.0),(6,"Cola","Getraenk",2.5,1.0),(7,"Eistee","Getraenk",2.0,1.0),(8,"Wasser","Getraenk",1.5,0.5)]
[Done] exited with code=0 in 0.473 seconds
[Running] runghc "c:\Users\5CG949285X\Documents\DHBW\5_Semester\Funktionale Programmierung\Main.hs"
[(1,"Hamburger","Hauptgericht",8.0,6.0),(2,"Cheeseburger","Hauptgericht",9.0,6.5),(3,"Chickenburger","Hauptgericht",8.5,6.5),(4,"Pommes frites","Beilage",3.0,2.0),(5,"Wedges","Beilage",3.5,2.0),(6,"Cola","Getraenk",2.5,1.0),(7,"Eistee","Getraenk",2.0,1.0),(8,"Wasser","Getraenk",1.5,0.5)]
[Done] exited with code=0 in 0.434 seconds
[Running] runghc "c:\Users\5CG949285X\Documents\DHBW\5_Semester\Funktionale Programmierung\Main.hs"
[(1,"Hamburger","Hauptgericht",8.0,6.0),(2,"Cheeseburger","Hauptgericht",9.0,6.5),(3,"Chickenburger","Hauptgericht",8.5,6.5),(4,"Pommes frites","Beilage",3.0,2.0),(5,"Wedges","Beilage",3.5,2.0),(6,"Cola","Getraenk",2.5,1.0),(7,"Eistee","Getraenk",2.0,1.0),(8,"Wasser","Getraenk",1.5,0.5)]
[Done] exited with code=0 in 0.487 seconds
如此之快,而且實際上可以使用。最后,要求只提供一個可以在 WinHugs 中使用的單個 .hs 檔案。所以我想我現在會繼續在我的 Main.hs 中作業,并在我完成后將其合并回原始檔案。應該管用。
謝謝@all
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/374163.html
下一篇:理解foldl的歸約程序
