0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【備忘録】Swift 実践入門について 第5章

Last updated at Posted at 2020-11-30

Swift 実践入門のまとめ。
分からない部分の抜粋も記載し、解決できたら随時更新していきます。
なお、ここに記載している以外でも「わけわからん…」となっている部分も多々ありますが、
今は必要ない、と言い聞かせて飛ばしています。

第5章
制御構文 上から下へ流れていくプログラムの動きを変更したりすること。
理解度:60%くらいか

5.2
条件分岐
・if-let文
let a = Optional(1)
if let b = a {
print(“値は\(a)です”)
} else {
print(“値が存在しません”)
}
値は1です

・guard文
func printIfPositive() {
let a = 1
guard a > 0 else {
print(“aは0未満です”) //falseならこの部分が実行される
return //スコープ外に退出
}
print(a)
}
printIfPositive() //結果は1

・switch文…Bool型ではなく、caseを設定していくことでもっと細かい条件分岐が可能。defaultをつけることで条件に網羅性が出るが、細かく設定した方が追加で条件を設定する場合に強い。
 - case パターン where 条件式(a > 10 など)…whereを使ってさらに条件を絞り込むことができる。
 - break…swich文のケース実行を中断する。また「ラベル名 : switch文」で、さらに「break ラベル名」で対象のswitch文の実行を中断することができる。
 - fallthrough…次のケースを実行するようにする。

5-3 繰り返し
・for 要素名 in コレクション名…コレクション名としているが、本書では「シーケンス」になっている。

・while 条件式…条件式(a > 10 など)が成り立つ限り繰り返し実行される。

・repeat 条件式…条件式に当てはまらなくても、最初の値は実行される。
var a = 1
repeat a < 1 {
print(a)
a += 1
} //結果は1

5-4 遅延実行…特定の部分を記述されている場所よりも後に実行させること。defer文など。

5-5 パターンマッチ…値などで代入させるのではなく、パターンで代入させる
・バリューバインディング…変数や定数をcaseの中に入れ、それらを代入させ条件チェックすること。

その後も様々なパターンマッチの仕様が登場しているが、細かく時間がかかりそうなのでカット。
現段階ではパターンで値などをマッチさせるため、printなどで表示させるのも「1以上10以下」などのパターンであることが多いと感じた。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?