0

我有这个数组:

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

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

我知道在数组中选择一个元素看起来像这样:lines(0)

但是我如何一次选择所有?


该数组有 26 个元素。我需要更改每个元素的颜色。要为一个元素做到这一点,我会这样做:

lines(0).setColor(Color.blue)

我怎样才能一次完成所有这些,而不是为每个元素使用其中的一段代码?

谢谢

4

2 回答 2

1

我猜“选择”是指对所有人应用相同的操作。在这种情况下,您应该使用foreach所有Traversables 上可用的方法,例如:

lines.foreach( _.setColor(Color.blue))
于 2013-04-24T20:12:34.357 回答
0

它通常使用任何foreach一种方法(如果您正在执行一些副作用,例如设置颜色、打印或其他东西)或map方法(如果您关心结果)完成:

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 

这些方法实际上是为每个内置集合和数组定义的。

于 2013-04-24T20:14:20.377 回答