以下のコードがどのように機能するかを理解するのに問題があります。私は 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
ありがとう
以下のコードがどのように機能するかを理解するのに問題があります。私は 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
ありがとう
for のネストされたループです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) + " ")
}
}
この形の方が見やすいかも。
ループは1から3まで
print((10 * i + j) + " ")
に等しい
val tmp = (10*i)+j //* is higher than +
print(tmp + " ")
あなたのコードの結果:
i=1 の場合、j=1 --> 11 i=1' j=2 --> 12 . . . . i=2, j=1 --> 21 . . i=2、j=3 --> 23 . . i=3, j=3 --> 33