WhileループはWordPressだと記事の取得とかによく使いますね。
ある意味見慣れているものではあるけど、復習がてら改めてみていきましょう!
目次
Whileループとは
条件がtrue(真)の間はひたすら繰り返される
while 条件A {
条件Aがtrueの間はひたすら繰り返す
}
条件がtrueなら、ということでこれも一種の条件分岐コードと言える
Whileの中にifも入れられる
while 条件A {
条件Aがtrueの間は実行される
if 条件A-1 {
while実行中に条件A-1がある場合はこちらも実行する
}
}
whileとforの違い
- while:条件が満たされるまでずっと繰り返す
- for:回数を指定して繰り返す
どちらが適しているかはその時その時によって違うので、コーディング時の状況判断が大事!
どっちかじゃないとダメとか、正解はこっちとか、そういう問題ではない
whileはネストすることもできる
while 条件A {
while 条件B {
実行内容
}
}
【最重要】終わらない条件を設定すると無限ループ
条件に永遠に続くようなものを設定してしまうと無限ループになってしまいます。
while 地球にいる間 {
地球にいる間はずっと繰り返される
}
アホみたいな例えで申し訳ない笑
何が言いたいかっていうと、無限ループになるとプログラムが永遠に続くことになり、PCがフリーズしたりサーバーダウンを引き起こしたりと悪いことづくめです。
必ずいつか終わるブール条件を設定することが不可欠です
おまけ

この画像は勉強で使っているSwift Playgroundsのwhileに対してのある問題です。
螺旋状になっていて一見難しそうですが…
while !isBlocked {
while !isOnGem {
moveForward()
}
collectGem()
turnLeft()
}
これだけでクリアできました。
最初のwhileは全体の動きが終わるまでの設定→突き当たるまで繰り返す
中のwhileは赤い宝石と重なるまでの設定→何もなければ前に進むを繰り返す
赤い宝石と重なったら宝石を取って、左に向きを変える
というような処理になっています。