Scala:如何在索引的FOR循环中加倍条件?

时间:2016-02-18 22:59:51

标签: java scala

我有一个关于Java的代码:

int[] array = new int[100];

for (int k = 0; k < array.length * 2; k++) {
    // some action
}

for循环中,我希望将数组长度加倍并将其用于迭代。但是我怎么能在Scala中得到同样的东西呢?

我试图使用zipWithIndex,但它不允许加倍条件:

arr.zipWithIndex.foreach {
  case (el, idx) => {...}
}

1 个答案:

答案 0 :(得分:4)

要迭代索引,就像在原始for循环中一样,您可以使用Range:

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)];

要获取索引和元素元组,可以在原始数组(两次)或两次数组上使用zipWithIndex,具体取决于所需的结果:

scala> val array = List("a", "b", "c")
array: List[String] = List(a, b, c)

scala> (0 until array.length * 2).foreach(println(_))
0
1
2
3
4
5