我是Haskell的新手,我正在阅读"了解大家好的Haskell!"。
使用" name"定义的表达式和"空格",后跟"参数"可以用作函数。 请考虑以下代码:
251.13M
201.41B
此代码实际上遵循上述规则,因此我们可以将其视为函数。但它看起来像是在java或c ++中的赋值操作。
那么,如何理解Haskell中的变量?
答案 0 :(得分:5)
在程序的顶层,NSManagedObject
是定义。它创建了一个变量,在数学变量的意义上 - 只是某个表达式的名称。它可以是值的定义:
name = expression
或函数的定义:
two :: Int
two = 2
定义是指函数,如果其类型具有函数箭头twice :: Int -> Int
twice x = x * two
。
在->
块或GHCi中,do
是本地定义。
let name = expression
最后,还有main :: IO ()
main = do
let greet name = "Hello, " ++ name ++ "!"
putStrLn (greet "world")
关键字的另一种用法:let
。这会在单个表达式中创建一个局部变量:
let name = expression1 in expression2