我有以下代码:
val userName = users.get(userID) match {
case Some(user) => user.name
case None => "Invalid User ID"
}
有没有更简洁的书写方式?
我想知道是否有与
getOrElse
相似的东西,如果可以成功(提取用户名),让我应用一个函数,否则返回一个纯值。 最佳答案
不是在一个方法调用中,而是在两个方法中:
users.get(userID).map(_.name).getOrElse("Invalid User ID")
糟糕,根据@sschaef的回答,显然终于在Scala 2.10中添加了
Option.fold
。关于scala - 更强大的getOrElse?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14662678/