Scala:如何处理许多可以是None的参数
发布时间:2020-12-16 19:23:02 所属栏目:安全 来源:网络整理
导读:现在我有很多可以没有的参数,我想将整个表达式赋值为默认值. 现在我正在做的事情 var name: Option[String] = Nonevar surname: Option[String] = Some("Smith")val fullName:String = { name.map { name = surname.map { surname = surname + "," + name }.
现在我有很多可以没有的参数,我想将整个表达式赋值为默认值.
现在我正在做的事情 var name: Option[String] = None var surname: Option[String] = Some("Smith") val fullName:String = { name.map { name => surname.map { surname => surname + "," + name }.getOrElse("unknown") }.getOrElse("unknown") } 但它有点太冗长了.我想知道什么是更惯用和更优雅的方式来处理它,理想情况下它会像(它的伪代码,当然!): val fullName = (name + "," + surname).getOrElse("unknown") 或类似的东西…… (只是避免双重.getOrElse会很棒……) 解决方法
这个怎么样
scala> val fullName = (for(n <-name;s <-surname) yield n + s).getOrElse("unknown") fullName: String = unknown (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |