如何在Scala中将Range转换为List或Array



我想将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,我希望在这部分代码中没有循环。

非常感谢!

您可以使用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转换为数组

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

List.range(firstYear, lastYear)

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

firstYear.until(lastYear).toList
firstYear.until(lastYear).toArray

简体:

(1990 until 2011).toList

但不要忘记until包括最后一个数字(止于2010)。如果你想要2011,使用to:

(1990 to 2011).toList

最新更新