我现在正在研究Scala和模式匹配。我有它背后的总体想法,可以让基础工作。我的问题是选项[]。是否可以在选项[]上使用模式匹配?
我想做的是制作一个小函数,它将接受一个option[String]参数,然后根据输入返回字符串(如果是字符串(,如果不是,则返回heads up。不过,我不太确定该如何处理,我已经尝试了一些方法,但要么失败,要么在下面的情况下永远不会出现第二种情况。
def getString(someString: Option[String]): String =
someString match {
case s: Option[String] => someString //also tried things like case: String => ...
case _ => s"no string entered" //and things like case _ => ...
}
这是实现函数的最简单方法:
def getString(someString: Option[String]): String =
someString.getOrElse("no string entered")
如果你想使用match
,它看起来像这样:
def getString(someString: Option[String]): String =
someString match {
case Some(s) => s
case _ => "no string entered"
}