如何映射选项案例 class

How to map an Option case class

说,有一个案例class

case class MyCaseClass(a: Int, b: String)

和一个Option[MyCaseClass]变量

val myOption: Option[MyCaseClass] = someFunctionReturnOption()

现在,我想像这样映射这个选项变量:

myOption map {
  case MyCaseClass(a, b) => do some thing
}

编译器似乎报告了类似 It needs Option[MyCaseClass], BUT I gave her MyCaseClass, bla bla.. 的错误。如何在 Optional case class ?

中使用模式匹配

考虑像这样提取 Option 值,

myOption map {
  case Some(MyCaseClass(a, b)) => do some thing
  case None => do something else
}

或者使用 collect 作为部分函数,​​像这样

myOption collect {
  case Some(MyCaseClass(a, b)) => do some thing
}

更新

请注意,如评论所述,OP 代码是正确的,此答案严格解决了 last 问题 How to use pattern match in Optional case class ?

MyOption match {

   Some(class) => // do something
   None => // do something. 

 }

MyOption map (class =>//do something)