scala – 一个更好的方式来测试一个Option的价值?
发布时间:2020-12-16 09:38:39 所属栏目:安全 来源:网络整理
导读:我经常发现自己有一个选项[T]一些类型T,并希望测试的选项的值反对一些价值。例如: val opt = Some("oxbow")if (opt.isDefined opt.get == "lakes") //do something 以下代码是等效的,并删除了测试该选项值的存在的要求 if (opt.map(_ == "lakes").getOrEl
我经常发现自己有一个选项[T]一些类型T,并希望测试的选项的值反对一些价值。例如:
val opt = Some("oxbow") if (opt.isDefined && opt.get == "lakes") //do something 以下代码是等效的,并删除了测试该选项值的存在的要求 if (opt.map(_ == "lakes").getOrElse(false)) //do something 然而,这似乎对我来说不太可读。其他可能性是: if (opt.filter(_ == "lakes").isDefined) if (opt.find(_ == "lakes").isDefined) //uses implicit conversion to Iterable 但我不认为这些清楚地表达了这样的意图: if (opt.isDefinedAnd(_ == "lakes")) 有没有人有更好的方法来做这个测试? 解决方法
怎么样
if (opt == Some("lakes")) 这表达了明确的意图,直截了当。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- angularjs – AngBind中ngBind,ngBindHtm和ngBin
- 如何修复Vim中不正确的内联JavaScript缩进?
- webservice二进制文件传输
- jenkins – Docker,如何处理ssh密钥,known_hos
- Scala:如何使用scala替换Dataframe中的值
- Axis2发布的WebService中排除不需要公开的public
- scala – 使用Slick 1.0.0计算行数
- angularjs – 在角镖中键入()的其他方式
- webservice里的@queryparam、@pathparam、@Defau
- angularjs – 我如何淡入然后淡出文本内部的文本
热点阅读