For loop 将NxN for循环修改为更简单
我想用lambdas做一个乘法表。 我成功了,但我不喜欢重复For loop 将NxN for循环修改为更简单,for-loop,kotlin,For Loop,Kotlin,我想用lambdas做一个乘法表。 我成功了,但我不喜欢重复(1..9).forEach{…} 我怎样才能避免这种重复 (1..9).forEach { i -> (1..9).forEach { println("$i x $it = ${i * it}") } } 有时嵌套循环是最好的,但您可以这样做: IntArray(81) { it / 9 + 1 }.zip(IntArray(81) { it.rem(9) + 1 }).forEach {
(1..9).forEach{…}
我怎样才能避免这种重复
(1..9).forEach { i ->
(1..9).forEach {
println("$i x $it = ${i * it}")
}
}
有时嵌套循环是最好的,但您可以这样做:
IntArray(81) { it / 9 + 1 }.zip(IntArray(81) { it.rem(9) + 1 }).forEach {
p ->
println("${p.first} x ${p.second} = ${p.first * p.second}")
}
(1..9*9)。forEach
?很好。但我希望打印格式为“println($I x$it=${I*it}”)。为什么要删除嵌套循环?还有其他方法,但都可能更复杂,或者需要第三方库;嵌套循环是一种常见的习惯用法,并且被广泛理解。如果您转到1..81,您可以使用${it%9}
和${it/9}
来获取行和列,但再次-为什么?@soyLen您可以将(1..9)
放入变量中,但仅此而已。您将无法避免重复用于迭代的任何内容。