現在我有許多參數可以是沒有,我想分配整個表達式默認值。斯卡拉:如何處理很多參數可以是無
現在我做這樣的事情
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將是巨大的......)
desugared:'surname flatMap(x => name map(x +「,」+ _))getOrElse「unknown」' –