Don*_* Ch 17 scala scala-collections
如何快速创建一个List[Int]包含1到100的内容?
我试过了List(0 to 100),但它回来了List[Range.Inclusive]
谢谢
Ben*_*ngs 37
尝试
(0 to 100).toList
Run Code Online (Sandbox Code Playgroud)
您尝试的代码是创建一个包含单个元素的列表 - 范围.你也可以做到
List(0 to 100:_*)
Run Code Online (Sandbox Code Playgroud)
编辑
该List(...)调用采用可变数量的参数(xs: A*).与Java中的varargs不同,即使您将a Seq作为参数(a Range是a Seq)传递,它仍将它视为varargs参数中的第一个元素.该:_*说"把这个参数作为整个可变参数Seq,而不仅仅是第一要素".
如果您读: A*作"an(:)'A'(A)重复(*)",您可以将其:_*视为"as(:)"某事'(_)重复(*)"
Eas*_*sun 13
List.range(1,101)
Run Code Online (Sandbox Code Playgroud)
第二个参数是独占的,所以这会产生一个从1到100的列表.