Scala的新手,刚开始使用scala.Option Cheat Sheet。但是,此代码在sbt控制台中引发错误。
def option[A, X](o: Option[A])(none: => X, some: => A => X): X = ...
错误是
错误:非法启动简单表达
向上箭头指向省略号。修复看起来很简单,但作为一个新手,它目前躲过我
答案 0 :(得分:2)
...
不是有效的Scala表达式。如果您想要一个具有“未知”实现的函数,可以使用???
:
def option[A, X](o: Option[A])(none: => X, some: => A => X): X = ???
此函数的目标显然是将函数作为参数并根据选项的内容应用none
或some
。您可以使用模式匹配来实现它:
def option[A, X](o: Option[A])(none: => X, some: => A => X): X = o match {
case Some(a) => some(a)
case None => none
}