在scala中使用'until'和'foreach()'来避免循环

时间:2017-12-28 07:39:28

标签: scala

(1 until Dimensions).foreach(x=>(x,r.nextInt))

我想避免使用for循环。我想要的是一个List,使List [(Int,Int)] 和值应该是:

List((1,9),(2,57),(3,78))

每个元素的第一个子元素表示索引,第二个元素表示随机的整数。 上面的代码给出了return()而没有toList,而toList给出了错误。 我应该怎么做?

1 个答案:

答案 0 :(得分:1)

foreach会返回Unit(即没有),因此无效。您应该使用map

(1 until Dimensions).map(x=>(x,r.nextInt))

从列表API

  

final def foreach(f: (A) ⇒ Unit): Unit

     

[用例]将函数f应用于此列表的所有元素。

  

final def map[B](f: (A) ⇒ B): List[B]

     

[用例]通过向所有人应用函数来构建新集合   这个清单的元素。