gpt4 book ai didi

scala - FOR 循环多个生成器

转载 作者:行者123 更新时间:2023-12-02 06:19:26 28 4
gpt4 key购买 nike

无法理解下面代码的工作原理。我是 Scala 的新手,现在已经学习这门语言 2 周了。

for (i <- 1 to 3; j <- 1 to 3) print((10 * i + j) + " ")

它打印 11 12 13 21 22 23 31 32 33。它是否依次分配每个值,即

i = 1

j = 0

或者每次循环时都分配值,即

i = 1

j = 1

谢谢

最佳答案

它只是j 的嵌套循环。因此,对于 i 的每个赋值,j 的所有值都会被迭代。

for (i <- 1 to 3) {
for (j <- 1 to 3) {
print((10 * i + j) + " ")
}
}

因为 for 循环扩展为 foreach,您的代码也等同于:

(1 to 3).foreach { i =>
(1 to 3).foreach { j =>
print((10 * i + j) + " ")
}
}

也许是这种形式,更容易看出来。

关于scala - FOR 循环多个生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15009769/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com