Scala Сопоставление с шаблоном с помощью Option [Type] - PullRequest
0 голосов
/ 20 марта 2020

Я сейчас играю с Scala и соответствием паттерна. У меня есть общая идея, и я могу получить основы работы. Моя проблема связана с вариантом []. Можно использовать сопоставление с образцом в Option []?

Я пытаюсь сделать небольшую функцию, которая примет параметр option [String] и затем на основе ввода вернет строку, если это строка, и заголовок, если нет. Я не слишком уверен в том, как go об этом, хотя я попробовал кое-что, но это либо выдает, либо в приведенном ниже случае никогда не затронет второй случай.

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 _ => ...
        }

1 Ответ

2 голосов
/ 20 марта 2020

Это самый простой способ реализовать вашу функцию:

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"
  }
...