Ваш str
является строкой, следовательно, не будет соответствовать isSomething
, который имеет логический тип. Другая проблема с вашим примером кода заключается в том, что None
имеет тип Option, поэтому было бы более целесообразно, чтобы ваши совпадения возвращали тот же тип. Вот один подход, использующий guard
для условия contains
:
val list = List("a", "a1", "abc", "qwe", "23rs")
val s = "abc"
s match {
case s if list contains s => Some(s)
case _ => None
}
// res1: Option[String] = Some(abc)