Наряду с тем, что сказал Кевин, лучше, если это выражения, которые что-то возвращают.Я собираюсь сделать то же самое, что и вы, но с другим конкретным примером:
val list = List(1,2,3,4)
val result = list.find(_ == 1).map(
_ => "Found1").orElse(list.find(_ == 5).map(
_ => "Found2")).getOrElse("Found3")
Однако ваш может выглядеть лучше :) Но избегайте побочных эффектов.Пусть цепочка if / else
, или цепочка монад, будет выражением, которое оценивает что-то, а не какую-то странную вещь с побочными эффектами.