Arrays 有没有办法在scala中选择数组中的所有内容?
我有这个阵列:Arrays 有没有办法在scala中选择数组中的所有内容?,arrays,scala,Arrays,Scala,我有这个阵列: val lines: Array[LineSprite] = new Array[LineSprite](26) 我希望能够同时选择其中的所有内容。我该怎么做呢 我知道在数组中选择一个元素会如下所示: 行(0) 但我如何一次选择全部 这个数组有26个元素。我需要改变每个元素的颜色。对于一个元素,我会这样做: lines(0).setColor(Color.blue) 我怎样才能一次完成所有的工作,而不是为每个元素编写一段这样的代码 谢谢我想“选择”的意思是对所有人应用相同的
val lines: Array[LineSprite] = new Array[LineSprite](26)
我希望能够同时选择其中的所有内容。我该怎么做呢
我知道在数组中选择一个元素会如下所示:
行(0)
但我如何一次选择全部
这个数组有26个元素。我需要改变每个元素的颜色。对于一个元素,我会这样做:
lines(0).setColor(Color.blue)
我怎样才能一次完成所有的工作,而不是为每个元素编写一段这样的代码
谢谢我想“选择”的意思是对所有人应用相同的操作。在这种情况下,您应该使用所有可遍历的
上可用的foreach
方法,如:
lines.foreach( _.setColor(Color.blue))
通常使用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