Как быстро создать List[Int]
, в котором есть от 1 до 100?Scala create List [Int]
Я попытался List(0 to 100)
, но он возвращает List[Range.Inclusive]
Благодарности
Как быстро создать List[Int]
, в котором есть от 1 до 100?Scala create List [Int]
Я попытался List(0 to 100)
, но он возвращает List[Range.Inclusive]
Благодарности
Попробуйте
(0 to 100).toList
Код, который вы пытались создает список с одним элементом - диапазона. Вы также могли бы быть в состоянии сделать
List(0 to 100:_*)
Редактировать
List(...)
вызов принимает переменное число параметров (xs: A*
). В отличие от varargs на Java, даже если вы передаете Seq
в качестве параметра (Range
- это Seq
), он по-прежнему будет рассматривать его как первый элемент в параметре varargs. В :_*
говорится: «Рассматривайте этот параметр как все varargs Seq
, а не только первый элемент».
Если вы читали : A*
как "(:
) 'A' (A
) неоднократное (*
)", вы можете думать о :_*
как "как (:
) 'что-то' (_
) неоднократного (*
)"
List.range(0,101)
List.range (1,101) –
Спасибо, что делает: _ * do в списке (от 0 до 100: _ *)? – portoalet
Хм. Это возвращает тип 'List [scala.collection.immutable.Range.Inclusive]' для меня. @Eastsun, кажется, возвращает правильный тип. – cevaris