Scala创建List [Int]

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的列表.