前言

在控制台输入 ghci 即可进入交互模式

:l myfunctions.hs 即可装载函数。

修改文件内容后,需要重新输入 :l myfunctions.hs 或与之等价的 :r 重新装载。

输入 set prompt "ghci> " 更换提示词。

01 简单函数

返回一个数的后继(successor)

ghci> succ 8
9

需要通过空格将函数与参数分隔,参数表也是使用空格分隔。函数调用拥有最高的优先级,如下两句是等效的。

ghci> succ 9 + max 5 4 + 1
16
ghci> (succ 9) + (max 5 4) + 1
16

注意

ghci> succ 9*10
100
ghci> succ(9*10)
91

02 List

ghci> let lostNumbers = [4,8,15,16,23,48]
ghci> lostNumbers
[4,8,15,16,23,48]

List 合并

ghci> [1,2,3,4] ++ [9,10,11,12]
[1,2,3,4,9,10,11,12]
ghci> "hello" ++ " " ++ "world"
"hello world"
ghci> ['w','o'] ++ ['o','t']
"woot"

注意:在使用 ++ 运算符处理长 List 的时候要格外小心,Haskell会遍历左侧 List。所以说,用 : 运算符往一个 List 前端插入元素会是更好的选择。

ghci> 'A':" SMALL CAT"
"A SMALL CAT"
ghci> 5:[1,2,3,4,5]
[5,1,2,3,4,5]