如何在 Scala 中将 Range 转换为列表或数组

发布于 2024-10-31 04:52:51 字数 300 浏览 0 评论 0原文

我想将一系列 Int 转换为 List 或 Array。 我有这段代码在 Scala 2.8 中工作:

var years: List[Int] = List()
val firstYear = 1990
val lastYear = 2011

firstYear.until(lastYear).foreach(
  e => years = years.:+(e)
)

我想知道是否有其他可能的语法,以避免使用 foreach,我希望在这部分代码中没有循环。

多谢!

卢伊克

I want to convert a range of Int into a a List or an Array.
I have this code working in Scala 2.8:

var years: List[Int] = List()
val firstYear = 1990
val lastYear = 2011

firstYear.until(lastYear).foreach(
  e => years = years.:+(e)
)

I would like to know if there is another syntax possible, to avoid using foreach, I would like to have no loop in this part of code.

Thanks a lot!

Loic

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

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

发布评论

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

评论(4

满身野味 2024-11-07 04:52:51

您可以使用toList方法:

scala> 1990 until 2011 toList
res2: List[Int] = List(1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010)

toArray方法将Range转换为数组。

You can use toList method:

scala> 1990 until 2011 toList
res2: List[Int] = List(1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010)

toArray method converts Range to array.

巨坚强 2024-11-07 04:52:51

除了其他答案之外,还有这个:

List.range(firstYear, lastYear)

And there's also this, in addition to the other answers:

List.range(firstYear, lastYear)
橘亓 2024-11-07 04:52:51

Range 有一个 toList 和一个 toArray 方法:

firstYear.until(lastYear).toList

firstYear.until(lastYear).toArray

Range has a toList and a toArray method:

firstYear.until(lastYear).toList

firstYear.until(lastYear).toArray
不一样的天空 2024-11-07 04:52:51

简单地说:

(1990 until 2011).toList

但不要忘记 until 不包含最后一个数字(截至 2010 年)。如果您想要 2011 年,请使用 to

(1990 to 2011).toList

Simply:

(1990 until 2011).toList

but don't forget that until does not include the last number (stops at 2010). If you want 2011, use to:

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