Я подозреваю, что ваша проблема на самом деле является выражением
Seq(1 to 10)
Это создает не последовательность из 10 элементов, а последовательность, содержащую один Range
объект.Поэтому, когда вы делаете это,
val List(x) = Seq(1 to 10)
x
назначается этому Range
объекту.
Если вы хотите List
чисел, сделайте следующее:
(1 to 10).toList
Шаблон List(x)
будет соответствовать только в том случае, если выражение справа является экземпляром List
, содержащим один элемент.Он не будет соответствовать пустому List
или List
с более чем одним элементом.
В этом случае это работает, потому что конструктор для Seq
фактически возвращает экземпляр List
.