Scala - 如何为Option [Int]设置默认值

can*_*asp 2 functional-programming scala

我想扩展Option[Int]它的类,以便它返回0if None和value,Some如果它不是None.我应该如何使下面的代码工作?

Some(10).default // returns 10
Option.empty[Int].default // returns 0
Run Code Online (Sandbox Code Playgroud)

Kol*_*mar 7

您可以使用所需的方法定义隐式类,它包含Option[Int]:

implicit class OptionIntExtension(option: Option[Int]) {
  def default: Int = option.getOrElse(0)
}
Run Code Online (Sandbox Code Playgroud)

将此类导入范围时,您问题中的代码可以正常工作.