Swift Playgrounds

コードを学ぼう1【NOT演算子を使う】解答例と解説

NOT演算子を使う

解答例

for i in 1 ... 4 {
  moveForward()
  if !isOnGem {
    turnLeft()
    moveForward()
    moveForward()
    collectGem()
    turnLeft()
    turnLeft()
    moveForward()
    moveForward()
    turnLeft()
    } else {
       collectGem()
    }
}

解説

論理演算子は、条件分岐コードをもっと細かく書くのに使える演算子
その中で、『NOT演算子』は、『』を使って『trueをfalse』のように変えます。
具体的には、今回のように『宝石の上にいなければtrue』となります。
この条件を使えることによって、より幅広くifが使えるようになりますね。

さて、今回は、もし宝石が4個まっすぐ置いてあればこのようになります。

for i in 1 ... 4 {
  moveForward()
  collectGem()
}

これだと単純でいいんですけどね。
これを基礎として、『もし宝石の上にいなければ』
左に行って宝石を取ってくるコードを追加します。

要点まとめ

・NOT演算子(!)を使うと、ブール値(true/false)が逆になる