加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么scala Collection.map与Try.map不一致?

发布时间:2020-12-16 18:05:09 所属栏目:安全 来源:网络整理
导读:scala集合地图文档在地图函数上说这个: Builds a new collection by applying a function to all elements of this list. 所以它运行在集合中的每个项目上. 但尝试它说: Maps the given function to the value from this Success or returns this if this
scala集合地图文档在地图函数上说这个:

Builds a new collection by applying a function to all elements of this
list.

所以它运行在集合中的每个项目上.

但尝试它说:

Maps the given function to the value from this Success or returns this
if this is a Failure.

因此它只在成功时运行,而我无法理解在失败时运行,我仍然可以打印它.为什么它与集合图界面不一致?我是否需要查看我使用的每个数据结构上的地图,并且可能会发现它的行为有所不同?

解决方法

任何monadic结构上的映射总是在“成功案例”上运行,即您感兴趣的数据.

在List中,“成功案例”由其元素表示,在Try by the Success案例中,在Future中相同,在Option中由Some案例表示.

列表也与其他列表略有不同,因为它没有真正的“失败案例”,如Try,Future或Option do(尽管你可以考虑Nil列表)

一般来说,你可以用这个术语来思考:无论何时你映射某些东西,你都要对容器所持数据的“成功案例”进行转换.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读