假设我有以下代码,有没有办法将其简化为更美化的方式?
var i = 0
val step = 100
val limitArr = new ArrayBuffer[(Int, Int)]
while (i < rddPartNumber) {
limitArr += ((i, i + step))
i += step
}
Run Code Online (Sandbox Code Playgroud)
您要做的基本上是遍历一系列数字。这可以通过映射到Range
val limits = (0 until rddPartNumber by step) map {i => (i , i + step)}
Run Code Online (Sandbox Code Playgroud)
或者,如果您喜欢for语法
for {i <- 0 until rddPartNumber by step}
yield (i, i + step)
Run Code Online (Sandbox Code Playgroud)