Нет ничего плохого в Vector(1, 2, 3) ++ Some(5).toSeq
, как обычно это делается.
Экспериментируя с кодом, чтобы ответить на ваш вопрос, я обнаружил, что (что удивительно для меня) вам не нужно писать toSeq
даже в Scala 2.10 - 2.12, благодаря option2Iterable
, определенному в scala.Option
сопутствующем объекте. Это неявное преобразование гарантирует, что Option
может использоваться там, где ожидается Iterable
, что достаточно для оператора Vector.++
.
Следующие работы: Vector(1, 2, 3) ++ Some(5)
Вам не нужно используйте toSeq
даже при объединении нескольких параметров, например Some(1) ++ Some(2)
- в результате получается List(1, 2)
.
В Scala 2,13 Option
получается из IterableOnce
, поэтому даже неявное преобразование не необходимо.