2010-03-25 22 views
16

İçinde 1 ila 100 arasında bir List[Int] hızlı bir şekilde nasıl oluşturabilirim? Scala oluşturma Listesi [Int]

Ben List(0 to 100) çalıştı, ama denedin kod tek bir unsur içeren bir liste yaratıyor

(0 to 100).toList 

deneyin List[Range.Inclusive]

Teşekkür

cevap

36

döndürür - aralık. Ayrıca

List(0 to 100:_*) 

düzenle

List(...) çağrı parametreleri değişken sayıda (xs: A*) Çekim yapmak mümkün olabilir. Java'da varargs'ın tersine, bir Seq parametresini bir parametre olarak iletseniz bile (Range bir Seq), yine de varargs parametresindeki ilk öğe olarak davranır. :_*, "bu parametreyi yalnızca ilk öğe değil, tüm varargs Seq olarak ele al" diyor.

siz : A* okursanız "Bir (:) 'A' tekrarlanan (A) (*)" ise, "tekrarlanan (:) 'şey' (_) olarak (*)"

olarak :_* düşünebiliriz
+0

Teşekkürler, ne yaparsınız: _ * Listede (0 - 100: _ *)? – portoalet

+0

Hmm. Bu, benim için "List [scala.collection.immutable.Range.Inclusive]" türünü döndürür. @Eastsun doğru tipini döndürüyor gibi görünüyor. – cevaris

12
List.range(0,101) 
+0

Liste.range (1.101) –