为什么scala Collection.map与Try.map不一致?
scala集合地图文档在地图函数上说这个:
所以它运行在集合中的每个项目上. 但尝试它说:
因此它只在成功时运行,而我无法理解在失败时运行,我仍然可以打印它.为什么它与集合图界面不一致?我是否需要查看我使用的每个数据结构上的地图,并且可能会发现它的行为有所不同? 解决方法
任何monadic结构上的映射总是在“成功案例”上运行,即您感兴趣的数据.
在List中,“成功案例”由其元素表示,在Try by the Success案例中,在Future中相同,在Option中由Some案例表示. 列表也与其他列表略有不同,因为它没有真正的“失败案例”,如Try,Future或Option do(尽管你可以考虑Nil列表) 一般来说,你可以用这个术语来思考:无论何时你映射某些东西,你都要对容器所持数据的“成功案例”进行转换. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |