2010-03-25 17 views

Odpowiedz

36

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ę (*)"

+0

Dzięki, co robi: _ * zrobić na liście (od 0 do 100: _ *)? – portoalet

+0

Hmm. Zwraca to dla mnie typ 'List [scala.collection.immutable.Range.Inclusive]'. @Eastsun wydaje się zwracać poprawny typ. – cevaris

12
List.range(0,101) 
+0

List.range (1,101) –

Powiązane problemy