haskell - 哈斯克尔世界你好
问题描述
这段代码来自一个在线教程,它并没有真正解释这个打印“Hello,World”的haskell代码背后的逻辑。你能解释一下这里到底发生了什么吗?我对最后一行发生的事情以及它如何使 greet = Hello 感到特别困惑。为什么需要“谁”?它有什么意义?为什么greet不只是设置为“你好”。我应该从这段代码片段中学到什么?请原谅我,因为我刚刚进入函数式编程的世界,我认为一些明显的事情从我头上飞过。
main :: IO ()
main = putStrLn (greet "World")
greet who = "Hello, " ++ who
解决方案
在问题的字里行间阅读听起来像是在阅读
(greet "World")
将字符串greet
与"World"
. 然而,在 Haskell 中,这就是你编写函数调用及其参数的方式。像 C 或 Java 这样的语言会这样写
greet ("World")
在 Haskell 中,括号不用于函数参数;相反,它们仅用于操作员优先级。“函数应用程序”(意味着在某些参数上调用函数)就像一个具有最高优先级的不可见运算符。
推荐阅读
- python - Sencha ExtJS PDF 下载
- firebase - 单击后如何在按钮下显示文本?
- php - 编码未正确保存到数据库
- c# - Dynamic appsettings for Serilog.Sink.Mail
- python - 芥末 S3 禁止 boto3 upload_file() 403
- ruby-on-rails - Display Rails 6 show view as embed shopify page
- javascript - Trying to recreate this semi circle
- xpath - Get element if other element contains text
- azure-ad-b2c - Determine, if a user has been authenticated using id_token_hint
- flutter - Problem when using BorderRadius in dartpad flutter