Я изучаю Scala и борюсь с Option[Seq[String]]
объектом, который мне нужно обработать. Существует небольшой массив строк Seq("hello", "Scala", "!")
, которые мне нужно отфильтровать по условию charAt(0).isUpper
.
Делать это на равнине val arr = Seq("hello", "Scala", "!")
так же просто, как и arr.filter(_.charAt(0).isUpper)
. Однако сделать то же самое для Option(Seq("hello", "Scala", "!"))
не получится, поскольку сначала нужно вызвать .getOrElse
. Но даже тогда, как вы можете применить условие?
arr.filter(_.getOrElse(false).charAt(0).isUpper
неправильно. Я перепробовал много вариантов, и поиск stackoverflow тоже не помог, и мне интересно, возможно ли это вообще. Есть ли идиоматический способ обработки Option
упакованных коробок в Scala?