Jak szybko utworzyć List[Int]
, który ma od 1 do 100 w nim?Scala stworzyć listę [Int]
Próbowałem List(0 to 100)
, ale zwraca List[Range.Inclusive]
Dzięki
Jak szybko utworzyć List[Int]
, który ma od 1 do 100 w nim?Scala stworzyć listę [Int]
Próbowałem List(0 to 100)
, ale zwraca List[Range.Inclusive]
Dzięki
Spróbuj
(0 to 100).toList
Kod próbowałeś tworzy listę z jednego elementu - zakres. Może również być w stanie zrobić
List(0 to 100:_*)
edycję
List(...)
rozmowa trwa zmienną liczbę parametrów (xs: A*
). W przeciwieństwie do varargów w Javie, nawet jeśli jako parametr zostanie przekazany parametr Seq
(Range
to Seq
), nadal będzie traktować go jako pierwszy element parametru varargs. :_*
mówi "traktuj ten parametr jako cały varargs Seq
, a nie tylko pierwszy element".
Jeśli czytasz : A*
jako "(:
) 'A' (A
) powtórzony (*
)", można myśleć :_*
jako "as (:
) 'coś' (_
) powtarzające się (*
)"
List.range(0,101)
List.range (1,101) –
Dzięki, co robi: _ * zrobić na liście (od 0 do 100: _ *)? – portoalet
Hmm. Zwraca to dla mnie typ 'List [scala.collection.immutable.Range.Inclusive]'. @Eastsun wydaje się zwracać poprawny typ. – cevaris