如何快速创建一个包含1到100的List[Int]
?
我尝试了List(0 to 100)
,但它返回了List[Range.Inclusive]
由于
答案 0 :(得分:37)
尝试
(0 to 100).toList
您尝试的代码是创建一个包含单个元素的列表 - 范围。你也许可以做到
List(0 to 100:_*)
修改强>
List(...)
调用采用可变数量的参数(xs: A*
)。与Java中的varargs不同,即使您将Seq
作为参数传递(Range
是Seq
),它仍会将其视为varargs参数中的第一个元素。 :_*
说“将此参数视为整个varargs Seq
,而不仅仅是第一个元素”。
如果您将: A*
视为“一个(:
)'A'(A
)重复(*
)”,您可以想到:_*
作为“as(:
)'某事'(_
)重复(*
)”
答案 1 :(得分:13)
List.range(1,101)
第二个参数是独占的,因此产生一个从1到100的列表。