Scala创建List[Int]

18

如何快速创建一个包含1到100的List[Int]

我尝试了 List(0 to 100),但是它返回了List[Range.Inclusive]

谢谢

2个回答

38

尝试一下

(0 to 100).toList
你尝试的代码创建了一个仅包含一项的列表-这个范围。你也可以尝试这样做:
List(0 to 100:_*)

编辑

List(...) 调用接受可变数量的参数 (xs: A*)。与 Java 中的 varargs 不同,即使将 Seq 作为参数传递(Range 是一个 Seq),它仍将其视为可变参数的第一个元素。 :_* 表示“将此参数视为整个可变参数 Seq,而不仅仅是第一个元素”。

如果你将 : A* 视为“一个 (:) 'A' (A) 重复 (*)”,那么可以将 :_* 视为“作为 (:) '某个东西' (_) 重复 (*)”。


1
谢谢,List(0 to 100:*) 中的 :* 是什么意思? - Lydon Ch
嗯,这对我返回类型是 List[scala.collection.immutable.Range.Inclusive]。@Eastsun 似乎返回了正确的类型。 - cevaris

13
List.range(1,101)
第二个参数是终止值,所以这会生成从1到100的列表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接