scala collection
map
文档在map
函数上说明了这一点:
通过将函数应用于此所有元素来构建新集合 列表。
因此它会在集合中的每个项目上运行。
但尝试说:
将给定的函数映射到此成功的值或返回此值 如果这是一次失败。
所以它在success
上运行 ,而我无法理解在failure
上运行什么我仍然可以打印它。为什么它与集合图界面不一致?我是否需要查看map
对我使用的每个数据结构的影响,并发现它的行为有所不同?
答案 0 :(得分:7)
map
总是在“成功案例”上运作,即你感兴趣的数据在哪里。
在List
中,“{成功案例”由其Try
案例Success
在Future
Option
Some
中List
表示。 } Try
案例。
Future
与其他人没有什么不同,因为它确实没有“失败案例”,例如Option
,Nil
或map
(尽管您可以考虑{{1}}列表
一般来说,您可以用这个术语来思考:无论何时{{1}}某事物,您都会对容器所持数据的“成功案例”进行转换