Scala 创建列表[Int]
如何快速创建一个包含 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试
您尝试的代码正在创建一个包含单个元素(范围)的列表。您还可以执行
Edit
List(...)
调用采用可变数量的参数 (xs: A*
)。与 Java 中的可变参数不同,即使您传递Seq
作为参数(Range
是Seq
),它仍然会将其视为varargs 参数中的第一个元素。:_*
表示“将此参数视为整个可变参数Seq
,而不仅仅是第一个元素”。如果您将
: A*
读作“an (:
) 'A' (A
)repeated (*
) ”,您可以将:_*
视为“as (:
) 'something' (_
)repeated (*)"
Try
The code you tried is creating a list with a single element - the range. You might also be able to do
Edit
The
List(...)
call takes a variable number of parameters (xs: A*
). Unlike varargs in Java, even if you pass aSeq
as a parameter (aRange
is aSeq
), it will still treat it as the first element in the varargs parameter. The:_*
says "treat this parameter as the entire varargsSeq
, not just the first element".If you read
: A*
as "an (:
) 'A' (A
) repeated (*
)", you can think of:_*
as "as (:
) 'something' (_
) repeated (*
)"第二个参数是互斥的,因此这会生成一个从 1 到 100 的列表。
The second argument is exclusive so this produces a list from 1 to 100.