【補講】今月の表示関連

投稿者: | 2015年5月14日

ここまできたら今月のカレンダーぐらいなら表示できたも同然ですが、その前にこれまでの内容の補講やります。

配列

かなり端折った感のある配列について。

とりあえず今日を表示してみるで初出の配列。本編ではさらりと説明していますが、簡単におさらいすると値の集合です。ひとつの値が定数または変数であるように、配列自体も値を書き換えるか否かで宣言時にletまたはvarを付けます。また、配列内の値にも型があり、[]で囲んで型指定をします。

配列自体は配列名に添え字を付けることで各値単体にアクセスすることができます。添え字は0から始まる自然数になります。今月は何日まであるのか?で扱ったとおり、添え字を付けて値そのものを計算することもできます。

論理演算子

今月は何日まであるのか?で当たり前のように使っていた論理演算子。

今回使ったのは論理積の&&と論理和の||です。&なのに積とはこれいかに?という感じですが、その振る舞いを知れば納得。

まず論理演算子を理解するにはbool型を理解しなければなりませんが、これはtrue(日本語では真)かfalse(日本語では偽)かの二つの状態しかありません。

  • 論理積:左項も右項もともにtrueのとき、trueを返します
  • 論理和:左項か右項のどちらかまたは両方がtrueであればtrueを返します

ここでtrue=1、false=0と考えるとわかりやすいかな?論理積は左項×右項なので、どちらかが0だと結果0になってしまいます。論理和は左項+右項なので、どちらも0のときだけ結果0になります。

ハロワの動作を時間ごとに変えてみる / 完結篇に出てきたif文のように判定条件がひとつだけで流れを制御することもあれば、今月は何日まであるのか?に出てきたif文のように複数の判定条件を総合的に判断して流れを制御したいときもあります。後者のようなときに、この論理演算子を使います。

算術演算子

数学で普通に使う+、-、*(数学では×)、/(数学では÷)、=なんかは説明の必要はないでしょう。そのほかにこれまで出てきたのは以下のようなもの。

  • %:左項を右項で割ったときの余りを返します
  • ++:左項の値を1増加します ← Swift3で廃止されました
  • %=:左項を右項で割ったときの余りを左項に代入します
比較演算子

【補講】ハロワの動作を時間ごとに変えてみるの演算子のところでさらっと>について説明しました。これも数学の不等号なので説明の必要はないですが、そのほかにこれまで出てきたのは以下のようなもの。

  • ==:左辺と右辺を比較して同じであればtrue、違っていればfalseを返します
  • !=:左辺と右辺を比較して同じであればfalse、違っていればtrueを返します

とりあえず、こんなところで。