Scala 创建列表[Int]

发布于 2024-08-26 11:06:28 字数 143 浏览 7 评论 0原文

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

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

谢谢

How can I quickly create a List[Int] that has 1 to 100 in it?

I tried List(0 to 100), but it returns List[Range.Inclusive]

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷爱 2024-09-02 11:06:28

尝试

(0 to 100).toList

您尝试的代码正在创建一个包含单个元素(范围)的列表。您还可以执行

List(0 to 100:_*)

Edit

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

如果您将 : A* 读作“an (:) 'A' (A)repeated (*) ”,您可以将 :_* 视为“as (:) 'something' (_)repeated (*)"

Try

(0 to 100).toList

The code you tried is creating a list with a single element - the range. You might also be able to do

List(0 to 100:_*)

Edit

The List(...) call takes a variable number of parameters (xs: A*). Unlike varargs in Java, even if you pass a Seq as a parameter (a Range is a Seq), it will still treat it as the first element in the varargs parameter. The :_* says "treat this parameter as the entire varargs Seq, not just the first element".

If you read : A* as "an (:) 'A' (A) repeated (*)", you can think of :_* as "as (:) 'something' (_) repeated (*)"

爱给你人给你 2024-09-02 11:06:28
List.range(1,101)

第二个参数是互斥的,因此这会生成一个从 1 到 100 的列表。

List.range(1,101)

The second argument is exclusive so this produces a list from 1 to 100.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文