美文网首页程序员
Haskell入门(五)高阶函数(higher-order fu

Haskell入门(五)高阶函数(higher-order fu

作者: _小轩窗_ | 来源:发表于2019-01-26 22:53 被阅读10次

参考教材:Learn You a Haskell for Great Good (http://learnyouahaskell.com/)

操作环境:Ubuntu下Linux64位虚拟机

python入门编程, 之后用c++学习数据结构,Haskell萌新。

由于对Haskell中一些词语的中文翻译并不了解,接下来的内容中重点名词将有英文和我理解的中文。


Chapter5主要内容

调制函数(curried function)

在前面学习的函数里,我们理解的函数通常接受一个或多个参数(parameter),并返回对应的结果,而这个结果也通常以参数的形式表示。这里我们讨论调制函数。调制函数总是仅仅接受一个参数,不同的是它返回值可以是函数,返回的函数可以再接受下一个参数,以此类推。

例子:max

我们在前面的学习过程里用到的max获取两个可以比较优先级的同类参量,返回其中的较大值。从调制函数的角度思考这个函数,我们会有另外的发现。

max函数

通过:t max 我们可以看到max函数的声明。由于->符号是右结合的,我们又可以把它写成a -> (a-> a)的形式。也就是说,max函数获取一个参数,返回声明为a->a类型的函数。如果我们输入max 4,我们获取到的正是这个函数。然而,由于Haskell并不了解a->a类型的函数要怎么输出,这一输入在命令行状态下会报错。

相关文章

网友评论

    本文标题:Haskell入门(五)高阶函数(higher-order fu

    本文链接:https://www.haomeiwen.com/subject/pipmjqtx.html