【发布时间】:2021-09-19 16:11:00
【问题描述】:
我想知道你们认为在性能方面更惯用和更好的是什么。
在 Option 或 Try 类型的 monad 上,使用模式匹配或 map 和 getOrElse 以防您想控制副作用。
那么你觉得这个更好:
maybeConnectTimeout
.map(connectTimeout => session.connect(connectTimeout))
.getOrElse(session.connect())
或者这个
maybeConnectTimeout match {
case Some(connectTimeout) => session.connect(connectTimeout)
case None => session.connect()
}
【问题讨论】:
-
您可以使用
fold将map和getOrElse混合在一起 - 一般来说,建议首选HoF 而不是模式匹配。 -
谢谢我完全忘记了折叠,而且非常优雅。谢谢大佬!
-
@LuisMiguelMejíaSuárez 你能把它写成答案吗?
-
@James 我的意思是,这个问题应该被关闭,因为无论如何都是基于意见的。
标签: scala