base-4.14.1.0:基本库
版权(c) 格拉斯哥大学2001
许可证BSD样式(请参阅文件库/base/LICENSE)
维护人员librarys@haskell.org
稳定性稳定的
便携性便携式的
安全哈斯克尔值得信赖的
语言哈斯克尔2010

数据。也许 吧

描述

Maybe类型和相关操作。

剧情简介

文档

数据 也许 吧来源 #

这个也许 吧类型封装可选值。类型为的值也许 吧包含类型为的值(表示为只是),或为空(表示为没有什么). 使用也许 吧是一个很好的方法处理错误或例外情况而不诉诸极端措施,如错误.

这个也许 吧type也是一个monad。这是一种简单的错误monad,其中所有错误都由没有什么.更富有可以使用要么类型。

建造师

没有什么 
只是 

实例

实例详细信息
莫纳德 也许 吧 来源 #

自:2.1

实例详细信息

定义于全球总部。底座

Functor(仿真器) 也许 吧 来源 #

自:2.1

实例详细信息

定义于全球总部。底座

MonadFix公司 也许 吧 来源 #

自:2.1

实例详细信息

定义于控制。莫纳德。修复

方法

mfix格式::(a->也许 吧a) ->也许 吧来源 #

单数失败 也许 吧 来源 #

自:4.9.0.0

实例详细信息

定义于控制。莫纳德。失败

适用 也许 吧 来源 #

自:2.1

实例详细信息

定义于全球总部。底座

可折叠的 也许 吧 来源 #

自:2.1

实例详细信息

定义于数据。可折叠的

方法

折叠时间:单体m=>也许 吧米->米来源 #

文件夹映射时间:单体m=>(a->m)->也许 吧a->米来源 #

foldMap'时间:单体m=>(a->m)->也许 吧a->米来源 #

文件夹::(a->b->b)->b->也许 吧a->b来源 #

折叠式::(a->b->b)->b->也许 吧a->b来源 #

折叠::(b->a->b)->b->也许 吧a->b来源 #

foldl(折叠)::(b->a->b)->b->也许 吧a->b来源 #

文件夹1::(a->a->a)->也许 吧a->a来源 #

文件夹1::(a->a->a)->也许 吧a->a来源 #

到列表时间:也许 吧a->[a]来源 #

无效时间:也许 吧a->布尔 来源 #

长度时间:也许 吧a->国际 来源 #

元素时间:等式a=>a->也许 吧a->布尔 来源 #

最大限度时间:订单a=>也许 吧a->a来源 #

最低限度时间:订单a=>也许 吧a->a来源 #

总和时间:数字a=>也许 吧a->a来源 #

产品时间:数字a=>也许 吧a->a来源 #

可穿越的 也许 吧 来源 #

自:2.1

实例详细信息

定义于数据。可穿越的

方法

导线,导线时间:适用f=>(a->fb)->也许 吧a->f(也许 吧b)来源 #

序列A时间:适用f=>也许 吧(f a)->f(也许 吧a)来源 #

地图M时间:莫纳德m=>(a->m b)->也许 吧a->米(也许 吧b)来源 #

序列时间:莫纳德m=>也许 吧(毫安)->米(也许 吧a)来源 #

MonadPlus系列 也许 吧 来源 #

自:2.1

实例详细信息

定义于全球总部。底座

备选方案 也许 吧 来源 #

自:2.1

实例详细信息

定义于全球总部。底座

MonadZip公司 也许 吧 来源 #

自:4.8.0.0

实例详细信息

定义于控制。莫纳德。邮编

方法

mzip公司时间:也许 吧a->也许 吧b->也许 吧(a、b)来源 #

mzip带::(a->b->c)->也许 吧a->也许 吧b->也许 吧c(c)来源 #

蒙齐普时间:也许 吧(a,b)->(也许 吧a、,也许 吧b)来源 #

显示1 也许 吧 来源 #

自:4.9.0.0

实例详细信息

定义于数据。仿真器。课程

读取1 也许 吧 来源 #

自:4.9.0.0

实例详细信息

定义于数据。仿真器。课程

订单1 也许 吧 来源 #

自:4.9.0.0

实例详细信息

定义于数据。仿真器。课程

等式1 也许 吧 来源 #

自:4.9.0.0

实例详细信息

定义于数据。仿真器。课程

等式a=>等式(也许 吧a) 来源 #

自:2.1

实例详细信息

定义于全球总部。也许 吧

数据a=>数据(也许 吧a) 来源 #

自:4.0.0.0

实例详细信息

定义于数据。数据

方法

gfoldl公司:: (对于所有人d b。数据d=>c(d->b)->d->c b)->(对于所有人克->克)->也许 吧a->c(也许 吧a)来源 #

枪口:: (对于所有人b.右侧。数据b=>c(b->r)->c r)->(对于所有人r r->c r)->施工->c(c)(也许 吧a)来源 #

至Constr时间:也许 吧a->施工 来源 #

数据类型属于时间:也许 吧a->数据类型 来源 #

数据广播1时间:可输入t=>(对于所有人d。数据d=>c(t d))->也许 吧(c)(也许 吧a) )来源 #

数据广播2时间:可输入t=>(对于所有人日期e(数据日期:,数据e) =>c(t d e))->也许 吧(c)(也许 吧a) )来源 #

gmapT(gmapT):: (对于所有人b。数据b=>b->b)->也许 吧a->也许 吧来源 #

gmapQl公司::(r->r'->r)->r->(对于所有人d。数据d=>d->r’)->也许 吧a->r来源 #

gmapQr公司时间:对于所有人r r’。(r'->r->r)->r->(对于所有人d。数据d=>d->r’)->也许 吧a->r来源 #

gmapQ(gmapQ):: (对于所有人d。数据d=>d->u)->也许 吧a->[u]来源 #

gmapQi公司时间:国际-> (对于所有人d。数据d=>d->u)->也许 吧a->u来源 #

gmapM公司时间:莫纳德m=>(对于所有人d。数据d=>d->m d)->也许 吧a->米(也许 吧a)来源 #

gmapMp时间:MonadPlus系列m=>(对于所有人d。数据d=>d->m d)->也许 吧a->米(也许 吧a)来源 #

gmapMo公司时间:MonadPlus系列m=>(对于所有人d。数据d=>d->m d)->也许 吧a->米(也许 吧a)来源 #

订单a=>订单(也许 吧a) 来源 #

自:2.1

实例详细信息

定义于全球总部。也许 吧

阅读a=>阅读(也许 吧a) 来源 #

自:2.1

实例详细信息

定义于全球总部。阅读

显示a=>显示(也许 吧a) 来源 #

自:2.1

实例详细信息

定义于全球总部。显示

通用(也许 吧a) 来源 #

自:4.6.0.0

实例详细信息

定义于全球总部。泛型

关联的类型

类型 代表(也许 吧a) ::类型->类型 来源 #

方法

时间:也许 吧a->代表(也许 吧a) x个来源 #

时间:代表(也许 吧a) x->也许 吧来源 #

半群a=>半群(也许 吧a) 来源 #

自:4.9.0.0

实例详细信息

定义于全球总部。底座

半群a=>单体(也许 吧a) 来源 #

将半群提升到也许 吧形成一个单体根据http://en.wikipedia.org/wiki/Monoid:“任何半群S公司可能是通过与元素相邻而变成幺半群电子歪投球S公司并定义e*e=ee*s=s=s*e为所有人s∈s."

自4.11.0起:内部约束价值概括自单体半群.

自:2.1

实例详细信息

定义于全球总部。底座

概述1 也许 吧 来源 #

自:4.6.0.0

实例详细信息

定义于全球总部。泛型

关联的类型

类型 代表1 也许 吧::k->类型 来源 #

方法

从1开始时间:对于所有人(答::k)。也许 吧a->代表1 也许 吧来源 #

1比1时间:对于所有人(答::k)。代表1 也许 吧a->也许 吧来源 #

类型 代表(也许 吧a) 来源 # 
实例详细信息

定义于全球总部。泛型

类型 代表1 也许 吧 来源 # 
实例详细信息

定义于全球总部。泛型

也许::b->(a->b)->也许 吧a->b来源 #

这个也许函数接受默认值、函数和也许 吧值。如果也许 吧值为没有什么,函数返回默认值。否则,它会将函数应用于内部的值这个只是并返回结果。

示例

展开

基本用法:

>>>可能是假奇数(只有3个)真的
>>>也许是假的奇怪什么都没有False(错误)

使用从字符串中读取整数读也许如果我们成功了,返回两倍的整数;也就是说,应用(*2)如果不是这样的话无法解析整数,返回0默认情况下:

>>>导入文本。阅读(readMaybe)>>>可能为0(*2)(读取可能为“5”)10>>>可能为0(*2)(读取可能为“”)0

应用显示也许是Int.如果我们有只是n,我们想展示基础国际 n个。但是如果我们有没有什么,我们返回空字符串而不是(例如)“Nothing”:

>>>可能是“”节目(仅5场)"5">>>也许“”显示什么都没有""

只是时间:也许 吧a->布尔 来源 #

这个只是函数返回真的如果它的论点是形式只是_.

示例

展开

基本用法:

>>>只是(只有3个)真的
>>>isJust(仅())真的
>>>什么都不是False(错误)

仅考虑外部构造:

>>>只是(什么都没有)真的

is什么都没有时间:也许 吧a->布尔 来源 #

这个什么都不是函数返回真的如果它的论点是没有什么.

示例

展开

基本用法:

>>>没有(只有3)False(错误)
>>>无(仅())False(错误)
>>>什么都没有什么都没有真的

仅考虑外部构造:

>>>没有(只是没有)False(错误)

来自Just时间:HasCallStack(哈斯调用堆栈)=>也许 吧a->a来源 #

这个来自Just函数从只是如果参数为,则抛出错误没有什么.

示例

展开

基本用法:

>>>来自Just(仅1)1
>>>2*(来自Just(Just 10))20
>>>2*(来自Just Nothing)***例外:Maybe.from只是:没有

来自Maybe::a->也许 吧a->a来源 #

这个来自Maybe函数采用默认值,并且也许 吧值。如果也许 吧没有什么,返回默认值;否则,它将返回也许 吧.

示例

展开

基本用法:

>>>fromMaybe“”(只是“你好,世界!”)“你好,世界!”
>>>“也许”“什么都没有""

使用从字符串中读取整数阅读也许如果我们未能做到解析一个整数,我们想返回0默认情况下:

>>>导入文本。阅读(readMaybe)>>>fromMaybe 0(阅读Maybe“5”)5>>>fromMaybe 0(阅读Maybe“”)0

列表到可能::[a]->也许 吧来源 #

这个列表到可能函数返回没有什么在空列表上只是哪里是列表的第一个元素。

示例

展开

基本用法:

>>>列表到可能[]没有什么
>>>列表到可能[9]只有9个
>>>列表到可能[1,2,3]只有1个

作曲可能是ToList具有列表到可能应该是身份在单例/空列表上:

>>>maybeToList$listToMaybe[5][5]>>>maybeToList$listToMaybe[][]

但不在包含多个元素的列表中:

>>>maybeToList$listToMaybe[1,2,3][1]

可能是ToList时间:也许 吧a->[a]来源 #

这个可能是ToList函数在给定时返回空列表没有什么或给定的单元素列表只是.

示例

展开

基本用法:

>>>可能是ToList(只有7个)[7]
>>>可能未列出任何内容[]

一个人可以使用可能是ToList避免组合时的模式匹配具有在列表上(安全地)工作的功能:

>>>导入文本。读取(readMaybe)>>>sum$maybeToList(读取可能为“3”)>>>sum$maybeToList(读Maybe“”)0

猫梅贝:: [也许 吧a] ->【a】来源 #

这个猫梅贝函数获取以下项的列表也许 吧s和返回所有只是值。

示例

展开

基本用法:

>>>catMaybes[只有1个,没有,只有3个][1,3]

构建列表时也许 吧值,猫梅贝可以使用返回所有“成功”结果(如果列表是结果地图,然后地图也许更合适):

>>>导入文本。阅读(readMaybe)>>>[readMaybe x::Maybe Int|x<-[“1”,“Foo”,“3”]][只有1,没有,只有3]>>>catMaybes$[readMaybe x::Maybe Int|x<-[“1”,“Foo”,“3”]][1,3]

地图可能::(a->也许 吧b) ->【a】->【b】来源 #

这个地图可能函数是的一个版本地图哪一个可以扔out元素。特别是,函数参数返回某种类型的东西也许 吧b条。如果这是没有什么,无元素添加到结果列表中。如果是的话只是b条,然后b条包含在结果列表中。

示例

展开

使用地图可能f x(f x)是的快捷方式catMaybes公司$地图f x(f x)在大多数情况下:

>>>导入文本。阅读(readMaybe)>>>let readMaybeInt=readMaybe::String->Maybe Int>>>mapMaybe readMaybeInt[“1”,“Foo”,“3”][1,3]>>>catMaybes$地图读取MaybeInt[“1”,“Foo”,“3”][1,3]

如果我们绘制只是构造函数,则应返回整个列表:

>>>地图可能只是[1,2,3][1,2,3]