【Haskell】Haskell学习笔记 基础知识总结(持续更新!)


0. 简介和准备

Haskell是一门声明式、函数式的编程语言,相比起命令式编程,它的代码相当简洁、表达力强。一个示例是Haskell写的八皇后:

safe :: Int -> [Int] -> Int -> Bool
safe _ [] _ = True
safe x (x1:xs) n = x /= x1 && x /= x1 + n && x /= x1 - n && safe x xs (n+1)

queens :: Int -> [[Int]]
queens 0 = [[]]
queens n = [ x:y | y <- queens (n-1), x <- [1..8], safe x y 1]

要做的准备是,按照Windows10下VS Code配置Haskell语言环境这篇文章,在Windows下搭建一个VS Code+Stack+GHC的语言学习环境。

然后在VS Code中新建一个 test.hs ,并在其所处文件夹打开终端,输入 stack exec ghci 或者 stack exec -- ghci 或者 stack --compiler ghc-8.0.2 exec ghci 或者 stack --compiler ghc-8.0.2 exec -- ghci ,进入Haskell解释器环境。


1. 基础语法

函数

test.hs 中输入:

doublex x = x + x

然后在REPL中导入这个Haskell文件,在终端使用这个 doublex 函数:

Prelude> :l test
[1 of 1] Compiling Main             ( test.hs, interpreted )
Ok, modules loaded: Main.
*Main> doublex 5
10

类似的,duoblex x 可以看作是函数名传入的参数= 后面则是函数返回值。相当于:

def doublex(x):
	return x + x

更进一步的,我们在函数 doublexy 中调用我们写的函数 doublex

doublex x = x + x
doublexy x y = doublex(x) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

memcpy0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值