在我的大学,我目前有一个关于 Haskell 的讲座。现在我找到了一份制作程序的工作。我们得到了这个示例文件: https ://pastebin.com/6wPdEgHZ
从那时起,我们必须围绕它开发程序。这些函数模拟数据库访问。
由于我不喜欢在 WinHugs 中编程,因此我使用 GHC 设置了 Visual Studio Code。我添加了一个 main-Function 来打印 Function-Outputs。它看起来像这样:
module Main where
main :: IO ()
main = print artikel
Run Code Online (Sandbox Code Playgroud)
我将其添加到顶部。就是这样。起初我想输出文章。这是 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
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,这需要很长时间。仅仅是因为文件中有太多代码吗?还是我设置时做错了什么?
如果我让文件保持原样,只需将其放在module Restaurant where顶部并在同一目录中添加第二个文件,名为“Main.hs”,如下所示:
module Main where
import Restaurant
main :: IO ()
main = print artikel
Run Code Online (Sandbox Code Playgroud)
它运行得更快。
如果我运行 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
Run Code Online (Sandbox Code Playgroud)
速度快得多,而且实际上可以使用。最后,要求只是提供一个可在 WinHugs 中运行的单个 .hs 文件。所以我想我现在会继续在 Main.hs 中工作,并在完成后将其合并回原始文件。应该管用。
谢谢@大家
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |