有没有一种很好的方法来访问Option Object中的Option Value?
嵌套的匹配案例导致丑陋的树结构.
嵌套的匹配案例导致丑陋的树结构.
所以如果我有例如:
case class MyObject(value: Option[Int]) val optionObject : Option[MyObject] = Some(MyObject(Some(2))
我知道访问该值的唯一方法是:
val defaultCase = 0 //represents the value when either of the two is None optionObject match { case Some(o) => o.value match { case Some(number) => number case None => defaultCase } case None => defaultCase }
这非常难看,因为这个构造只是用于访问一个小的Option值.
我想做的是:
optionObject.value.getorElse(0)
或者像你可以用Swift做的:
if (val someVal = optionObject.value) { //if the value is something you can access it via someVal here }
Scala中有什么东西能让我很好地处理这些事情吗?
谢谢!