Как я могу быстро создать a List[Int]
это имеет 1 - 100 в нем?
Я попробовал List(0 to 100)
, но это возвращается List[Range.Inclusive]
Спасибо
Попробуйте
(0 to 100).toList
Код, который вы пробовали, создает список из одного элемента - диапазона. Вы также можете выполнить
List(0 to 100:_*)
Edit
Вызов List (...)
принимает переменное количество параметров ( xs: A *
). В отличие от varargs в Java, даже если вы передадите Seq
в качестве параметра ( Range
- это Seq
), он все равно будет рассматривать его как первый элемент в параметр varargs. : _ *
говорит: «рассматривать этот параметр как весь varargs Seq
, а не только как первый элемент».
Если вы читаете : A *
как «(:
) 'A' ( A
) повторяется ( *
)» , вы можете думать о : _ *
как о «как (:
)« что-то »( _
) повторяется ( *
)»
List.range(1,101)
Второй аргумент является исключающим, поэтому получается список от 1 до 100.