【Swift】Whileループについて

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

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は赤い宝石と重なるまでの設定→何もなければ前に進むを繰り返す

赤い宝石と重なったら宝石を取って、左に向きを変える

というような処理になっています。

(スポンサーリンク)

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次