【发布时间】:2017-03-15 06:30:25
【问题描述】:
我是 Haskell 的新手,我正在阅读“Learn You a Haskell for Great Good!”。
用“名称”和“空格”定义的表达式,后跟“参数”可以用作函数。 考虑以下代码:
doubleMe = 2
这段代码实际上遵循了上面的规则,所以我们可以把它看成一个函数。但它确实看起来像是 java 或 c++ 中的 assign 操作。
那么,如何理解 Haskell 中的变量呢?
【问题讨论】:
-
你需要弄清楚 doubleme 到底是什么,你使用了变量这个词......为什么?
-
您是在编写 Haskell 程序(.hs 文件)还是使用 ghci?在 ghci 中你需要 let,在普通的源文件中你不需要。
-
另外我不知道您是否在问“变量和函数之间有什么区别?”或者您是否在问“使用 'let' 和不使用 'let' 有什么区别?”
-
doubleMe不是函数,因为函数必须有参数。另见:conal.net/blog/posts/everything-is-a-function-in-haskell -
@immibis GHC 8 在顶级 GHCi 中将
let设为可选。
标签: haskell