[英]haskell leksah hello-world
今天早上的坏消息,我愿意尝试使用Leksah(顺便说一句漂亮的应用程序)继续学习haskell。
我无法编译我发现阅读leksah教程的“Hello World”示例。
module Main (
main = putStrLn "Hello World"
) where
compilation-error: src\\Main.hs:16:5: parse error on input
='` compilation-error: src\\Main.hs:16:5: parse error on input
和
module Main (
) where
main = putStrLn "Hello World"
compilation-error: src\\Main.hs:1:0: The main function
main'不由模块Main'
导出
你会建议我尝试别的什么?
重要编辑 : 现在Leksah附带了一个文件Main.hs,在你第一次启动leksah时直接加载,包含一个完全功能的Hello World迷你项目。 它还有极简单元测试计数器部分。 非常适合初学者 :-)
模块名称后面的paranthesis中的文本是导出列表。 这意味着,您必须将所有函数放在要导出的程序中。 但除此之外,您还必须在某处定义主要功能。 试试这个:
module Main (
main
) where
main = putStrLn "Hello World"
PS:您还可以删除其中的paranthesis及其他任何内容,而不是要导出模块中的任何内容。
你的第二个例子就在那里,只需从Main
旁边删除()
。 这是您的模块的导出列表,您已将其设为空(括号之间没有任何内容)。 因此,没有看到main
(因为它没有被导出)。
你也可以只导出main:
module Main (main) where
“出口一切都是好的做法吗?” 当然不。 您不希望辅助方法之类的实现细节泄露到外部。 另一个例子是值构造函数,因为没有办法为它们进行健全性检查,默认参数等。 为了解决这个问题,您只能在模块内部使用它们,并为外部提供方便和安全的初始化功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.