Swift の while ループ
Swift でコードを繰り返し実行する(ループする)には、for-in 文か while 文か repeat-while 文を使います。
ここでは Swift の while 文 と repeat-while 文についてご説明します。
Swift の while 文
Swift の while 文は 条件文が true の間、コードブロックを繰り返し実行します。
繰り返す回数が事前にわかっていない時などに便利です。
while [条件文] {
ループ中に実行されるコードブロック
}
最初から条件文が false の時は、コードブロックは一度も実行されません。
ループ中に条件文が false になったら、その回はコードブロックを実行せずにループを抜けます。
条件文が false にならないと、無限ループになって、永遠にコードブロックが実行され続けてしまいますので、お気をつけください。
では、Swift の while 文を使ってループしてみましょう。
変数 i を 1 に初期化して、i が 10 より小さい間、コードブロックを繰り返し実行するようにします。
コードブロックでは、i を print し、i に 2 ずつ足しています。
ループを抜けた後にも i も print しています。
var i = 1
while i < 10 {
print("i = \(i)")
i += 2
}
print("final i = \(i)")
実行結果は次のようになります。i が 11 になった時に条件文が false になり、while ループを抜けているのがわかりますね。
i = 1
i = 3
i = 5
i = 7
i = 9
final i = 11
Swift の repeat-while 文
Swift の repeat-while 文は while 文と似ていて、条件文が true の時にループしますが、実行を続けるかの条件文を後でチェックします。
repeat {
ループ中に実行されるコードブロック
} while [条件文]
最初から条件文が false でも一度はコードブロックが実行されます。
こちらも、条件文が false にならないと、無限ループになって、永遠にコードブロックが実行され続けてしまいますので、お気をつけください。
では、Swift の repeat-while 文を使ってループしてみましょう。
先ほどと同じことをするコードを repeat-while 文を使って書くと次のようになります。
var i = 1
repeat {
print("i = \(i)")
i += 2
} while i < 10
print("final i = \(i)")
実行結果は次のようになります。i が 11 になった時に条件文が false になり、repeat-while ループを抜けています。
i = 1
i = 3
i = 5
i = 7
i = 9
final i = 11
上の二つのコードの条件文を i < 10 ではなく i < 1 に変更して実行すると、while のほうは一度もコードが実行されませんが、repeat-while のほうは一度実行されているのがわかりますね。
以上、Swift の while 文 と repeat-while 文についてご説明しました。