Я хочу определить функцию:
def convert(x: Option[String]): Option[String] = ...
Если x
- Some(str)
, а после timming - str
, он будет преобразован в значение None, в противном случае это будет Some
с обрезанной строкой.
Итак, тестовый пример будет:
convert(Some("")) == None
convert(Some(" ")) == None
convert(None) == None
convert(Some(" abc ")) == Some("abc")
Я могу написать его как:
def convert(x: Option[String]): Option[String] = x match {
case Some(str) if str.trim()!="" => Some(str.trim())
case _ => None
}
Но я надеюсь найти более простую реализацию (однострочную).