有没有办法在scala中选择数组中的所有内容?

时间:2013-04-24 20:02:30

标签: arrays scala

我有这个数组:

val lines: Array[LineSprite] = new Array[LineSprite](26)

我希望能够立刻选择其中的所有内容。我该怎么做呢?

我知道在数组中选择一个元素将如下所示:     线(0)

但我如何一次选择所有?


该数组有26个元素。我需要改变每个元素的颜色。要为一个元素执行此操作,我会这样做:

lines(0).setColor(Color.blue)

不是每个元素都有一个代码片段,我怎么能一次完成所有这些?

由于

2 个答案:

答案 0 :(得分:1)

我想通过'select'你的意思是对所有人应用相同的操作。在这种情况下,您应该使用所有foreach上提供的Traversable方法,例如:

lines.foreach( _.setColor(Color.blue))

答案 1 :(得分:0)

通常使用foreach方法(如果您正在执行某些副作用,如设置颜色,打印或其他方法)或map方法(如果您关心结果):< / p>

lines.foreach(l => l.setColor(Color.blue))
val squares = List(1,2,3,4).map(n => n * n) 
// squares are now List(1,4,9,16)
// note that line below is wrong
val squares = List(1,2,3,4).foreach(n => n * n) 
// squares now is Unit (aka void) because foreach doesn't return anything 

为每个内置集合和数组定义的那些方法。