【发布时间】:2012-06-08 03:31:51
【问题描述】:
现在我有很多可以为空的参数,我想为整个表达式分配一个默认值。
现在我正在做类似的事情
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 option optional-parameters