Haskell心得(1) 模式匹配、高阶函数、组合函数

本文探讨了Haskell编程中的关键概念,包括模式匹配、高阶函数和组合函数的使用。Haskell是一种强类型函数式编程语言,其中模式匹配在处理列表和元组时特别有用。此外,介绍了哨位、where、let和case等定义函数的特殊形式,以及函数组合的简洁表示。文中通过快速排序函数的实现展示了这些概念的实际应用。
摘要由CSDN通过智能技术生成

摘要:介绍了haskell的几种定义函数方式:模式匹配、高阶函数、函数组合

  haskell是一种强类型的函数式编程语言。haskell里面,类型是一个核心的问题。但作为函数式编程的普遍特性,高阶函数是首先要考察的。除了高阶函数和组合函数之外,模式匹配尤其是列表的匹配是haskell的独特优点,另外point-free风格也是比较有趣的。

  模式匹配是指,函数的参数有多种可能的形式,调用时自动找到匹配的形式并调用。通常只用一个小写字母表示参数而没有特殊形式的模式称为万能模式,可以匹配除了特殊形式的任意的参数。列表和元组属于haskell的基本数据结构,常在模式匹配里使用。下面的阶乘函数是一个最简单的例子。参数或者为任意正整数,或者为0。

factorial :: Int -> Int
factorial 0 = 1
factorial n = n * factorial (n-1)

  下面是元组和列表的模式匹配。函数调用时按照元组和列表的形式选择合适的模式。

addX :: (Double, Double) -> (Double, Double) -> Double
addX (x1, _) (x2, _) = x1 + y1
length' :: [a] -> Int
length' [] = 0
length' (x:[]) = 1
length' (x:xs) = 1 + length' xs

  下面是定义函数的一些特殊形式,包括哨位(guar

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值